Androidでマップするために最小値で解析しようとすると問題が発生します。
いくつかのサンプルJSON形式があります。
_[{id:"1", name:"sql"},{id:"2",name:"Android"},{id:"3",name:"mvc"}]
_
使用が最も一般的で使いやすいこの例では、getString("id")
またはgetValue("name")
を使用します。
しかし、文字列と値の最小形式だけでこのJSON形式を使用してマッピングするには、どのように解析しますか?Javaループを使用してコレクションをマップします。
_{"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;