I want to create a String as follows.
[{ "Name":"David",
"Age":"30"
},
{"Name":"Max",
"Age":"20"
}
]
How can we create this string using ArrayList<HashMap<String,String>>
and JSON in Java?
I want to create a String as follows.
[{ "Name":"David",
"Age":"30"
},
{"Name":"Max",
"Age":"20"
}
]
How can we create this string using ArrayList<HashMap<String,String>>
and JSON in Java?
Try as below
public String listmap_to_json_string(List<HashMap<String, String>> list)
{
JSONArray json_arr=new JSONArray();
for (Map<String, String> map : list) {
JSONObject json_obj=new JSONObject();
for (Map.Entry<String, String> entry : map.entrySet()) {
String key = entry.getKey();
String 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();
}
My JSON library fits your use case exactly. For example:
ArrayList<HashMap<String,String>> outer = new ArrayList<HashMap<String,String>>();
HashMap<String,String> inner = new HashMap<String,String>();
inner.put("Name", "David");
inner.put("Age", "30");
outer.add(inner);
inner = new HashMap<String,String>();
inner.put("Name", "Max");
inner.put("Age", "20");
outer.add(inner);
//----------
import io.nayuki.json.Json;
String jsonText = Json.serialize(outer);
System.out.println(jsonText);
Output text:
[{"Age": "30", "Name": "David"}, {"Age": "20", "Name": "Max"}]