我想创建一个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您是否尝试过我的解决方案 –