我想使用JSONObject
方法迭代keys()
。问题是其中一个关键是整数。
Iterator it = json.getJSONObject("body").keys();
keys()
方法只从String值创建一个迭代器,当其中一个键是Integer时我得到一个异常。我该怎么做才能解决这个问题?
答案 0 :(得分:1)
请阅读以下示例
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);
}
答案 1 :(得分:0)
JSON对象成员是键值对,其中键始终是字符串(ref)。如果它是一个数字文字,则JSON无效。您应该修复产生无效JSON的任何内容。