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
Post a Comment