JSONObject使用Integer创建迭代器



我想使用方法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);
}
JSON对象成员是键值对,其中键始终是字符串(ref)。如果它是数字文字,那么JSON是无效的。您应该修复产生无效JSON的任何内容。

最新更新