yog*_*man 14 java json map javabeans
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);
JSONObject json = new JSONObject(list);
try {
System.err.println(json.toString(2));
} catch (JSONException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
这段代码出了什么问题?
输出是:
{"empty": false}
Run Code Online (Sandbox Code Playgroud)
小智 21
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();
}
Run Code Online (Sandbox Code Playgroud)
好吧,试试这个〜这对我有用:D
您有一个嵌套在列表中的地图。您试图在不先遍历列表的情况下调用 Map。JSON 有时感觉很神奇,但实际上并非如此。我稍后会发布一些代码。
制作地图的地图而不是地图的列表与 JSON 更加一致。
JSONObject json = new JSONObject(list);
Iterator<?> it = json.keys();
while (keyed.hasNext()) {
String x = (String) it.next();
JSONObject jo2 = new JSONObject(jo.optString(x));
}
Run Code Online (Sandbox Code Playgroud)