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