我想創建一個String,如下所示。ArrayList <HashMap <String,String >>到JSON對象Java
[{ "Name":"David",
"Age":"30"
},
{"Name":"Max",
"Age":"20"
}
]
如何在Java中使用ArrayList<HashMap<String,String>>
和JSON創建此字符串?
我想創建一個String,如下所示。ArrayList <HashMap <String,String >>到JSON對象Java
[{ "Name":"David",
"Age":"30"
},
{"Name":"Max",
"Age":"20"
}
]
如何在Java中使用ArrayList<HashMap<String,String>>
和JSON創建此字符串?
嘗試如下
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();
}
謝謝,這適用於我 –
嘗試Jackson Mapper
您可以閱讀關於它的一些tutorials。 您可以編寫代碼,以這種方式使用傑克遜:
ObjectMapper mapper = new ObjectMapper();
jsonString = mapper.writeValueAsString(listOfMap);
My JSON library正好符合你的使用情況。例如:
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);
輸出文本:
[{"Age": "30", "Name": "David"}, {"Age": "20", "Name": "Max"}]
此鏈接將幫助您:http://stackoverflow.com/questions/12155800/how-to-convert-hashmap-to-json-object -in-java – Kartic
http://www.json.org/javadoc/org/json/JSONObject.html無法正常工作。你能解釋一下嗎?我是新來的Java。我有ArrayList>與所有數據。我只是想從上面準備一個JSON字符串。另外請注意,沒有JSON密鑰 –
@creative Pro您是否嘗試過我的解決方案 –