-1

我想JSONObject通过使用方法来迭代 a keys()。问题是其中一个键是整数。

Iterator it = json.getJSONObject("body").keys();

keys()方法仅从字符串值创建一个迭代器,当其中一个键是整数时,我得到一个异常。我能做些什么来解决这个问题?

4

2 回答 2

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);
}
于 2013-12-02T11:48:07.357 回答
0

JSON 对象成员是键值对,其中键始终是字符串 ( ref )。如果是数字文字,则 JSON 无效。您应该修复产生无效 JSON 的任何内容。

于 2013-12-04T10:52:25.937 回答