encoding JSON (android) -


i'm trying parse json data in sqlite database.

the output want:

{  "report":{   "product":[    {     "size": "100"    },    {     "size": "200"    }   ]  } } 

the output get:

{  "report":{   "product":[    {     "size": "200"    },    {     "size": "200"    }   ]  } } 

my code:

data = new jsonobject(); product = new jsonobject(); report = new jsonobject(); sizelist = controller.distinctsize();        (hashmap<string, string> map : sizelist){     for(entry<string, string> mapentry : map.entryset()){     string key = mapentry.getkey();     object value = mapentry.getvalue();     report.accumulate("product", product);     product.put(key, value); //size     } } data.put("report", report); 

can tell me how fix code desired data?

[[solved]]

i have question. since code loops now, had hard time parsing it.

the output want now:

{ "report":{     "report-date":"19-03-2013",     "period-start":"18-03-2013",     "period-end":"22-03-2013",     "products":[         {             "commodity":"123456789",             "size":"155g",             "prices":{                 "est_id_1":"12.60",                 "est_id_3":"13.45",             }         },         {             "commodity":"234567890",             "size":"155g",             "prices":{                 "est_id_1":"3.5",             }         }     ] } } 

but code is:

{ "report":{     "report-date":"19-03-2013",     "period-start":"18-03-2013",     "period-end":"22-03-2013",     "products":[         {             "commodity":"123456789",             "size":"155g",             "prices":{                 "est_id_1":"12.60",                 //missing 1 establishment here             }         },         {             "commodity":"234567890",             "size":"155g",             "prices":{                 "est_id_1":"3.5",             }         }     ] } } 

my code:

try{             data = new jsonobject();             report = new jsonobject();              date date = new date();             simpledateformat dateformat = new simpledateformat("yyyy-mm-dd");              int i=0;             sizelist = controller.distinctsize();                    (hashmap<string, string> map : sizelist){                 for(entry<string, string> mapentry : map.entryset()){                     string key = mapentry.getkey();                     object value = mapentry.getvalue();                     product = new jsonobject();                      product.put(key, value); //size                     comlist = controller.distinctcommodity((string) value);                     (hashmap<string, string> map1 : comlist){                         for(entry<string, string> mapentry1 : map1.entryset()){                             i++;                             string key1 = mapentry1.getkey();                             object value1 = mapentry1.getvalue();                             if(i>1){                                 product = new jsonobject();                                 report.accumulate("product", product);                                 product.put(key1, value1); //commodity                                 product.put(key, value);                             }                             else{                                 report.accumulate("product", product);                                 product.put(key1, value1); //commodity                             }                             establist = controller.establishment( (string) value, (string) value1);                             (hashmap<string, string> map2 : establist){                                  for(entry<string, string> mapentry2 : map2.entryset()){                                     string key2 = mapentry2.getkey();                                     object value2 = mapentry2.getvalue();                                     pricelist = controller.price((string) value, (string) value1, (string) value2);                                     (hashmap<string, string> map3 : pricelist){                                          price = new jsonobject();                                         product.put("prices", price);                                         for(entry<string, string> mapentry3 : map3.entryset()){                                             string key3 = mapentry3.getkey();                                             object value3 = mapentry3.getvalue();                                             price.put((string) value2, value3); //estabid , price                                          }                                     }                                 }                             }                         }                     }                 }             }             report.accumulate("product",product);             report.put("report-date", dateformat.format(date));             datelist = controller.dates();             (hashmap<string, string> map : datelist){                    for(entry<string, string> mapentry : map.entryset()){                     string key = mapentry.getkey();                     object value = mapentry.getvalue();                     report.accumulate(key, value);                 }             }             data.put("report", report); 

how should this?

data = new jsonobject();  report = new jsonobject(); sizelist = controller.distinctsize();        (hashmap<string, string> map : sizelist){     for(entry<string, string> mapentry : map.entryset()){     string key = mapentry.getkey();     object value = mapentry.getvalue();     product = new jsonobject();     report.accumulate("product", product);      product.put(key, value); //size     } } 

Comments

Popular posts from this blog

c# - DetailsView in ASP.Net - How to add another column on the side/add a control in each row? -

javascript - firefox memory leak -

Trying to import CSV file to a SQL Server database using asp.net and c# - can't find what I'm missing -