List<Map<String,Object>> to org.json.JSONObject? List<Map<String,Object>> to org.json.JSONObject? json json

List<Map<String,Object>> to org.json.JSONObject?


public String listmap_to_json_string(List<Map<String, Object>> list){           JSONArray json_arr=new JSONArray();    for (Map<String, Object> map : list) {        JSONObject json_obj=new JSONObject();        for (Map.Entry<String, Object> entry : map.entrySet()) {            String key = entry.getKey();            Object value = entry.getValue();            try {                json_obj.put(key,value);            } catch (JSONException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }                                   }        json_arr.put(json_obj);    }    return json_arr.toString();}

alright, try this~ This worked for me :D


List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();Map<String, Object> map = new HashMap<String, Object>();map.put("abc", "123456");map.put("def", "hmm");list.add(map);// it's wrong JSONObject json = new JSONObject(list);// if u use list to add data u must be use JSONArrayJSONArray json = JSONArray.fromObject(list);try {    System.err.println(json.toString(2));} catch (JSONException e) {    e.printStackTrace();}


You need to end up with a JSONArray (corresponding to the List) of JSONObjects (the Map).

Try declaring the json variable as a JSONArray instead of a JSONObject (I believe the JSONArray constructor will do the right thing).