[英]Parse JSON object with string and value only
嘗試使用最小值解析以在Android中映射時,我遇到了問題。
有一些示例JSON格式,其中包含更多信息:
[{id:"1", name:"sql"},{id:"2",name:"android"},{id:"3",name:"mvc"}]
這個使用最常見且易於使用的示例只使用getString("id")
或getValue("name")
。
但是我如何解析使用這種JSON格式進行映射,只使用字符串和值最小格式到使用循環的java map集合。 因為字符串json總是彼此不同。 例如:
{"1":"sql", "2":"android", "3":"mvc"}
謝謝
您需要獲取所有鍵的列表,循環遍歷它們並將它們添加到地圖中,如下例所示:
String s = "{menu:{\"1\":\"sql\", \"2\":\"android\", \"3\":\"mvc\"}}";
JSONObject jObject = new JSONObject(s);
JSONObject menu = jObject.getJSONObject("menu");
Map<String,String> map = new HashMap<String,String>();
Iterator iter = menu.keys();
while(iter.hasNext()){
String key = (String)iter.next();
String value = menu.getString(key);
map.put(key,value);
}
我的偽代碼示例如下:
JSONArray jsonArray = "[{id:\"1\", name:\"sql\"},{id:\"2\",name:\"android\"},{id:\"3\",name:\"mvc\"}]";
JSON newJson = new JSON();
for (each json in jsonArray) {
String id = json.get("id");
String name = json.get("name");
newJson.put(id, name);
}
return newJson;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.