Android(JSONObject)如何通过平面JSON对象循环来获取每个键和每个值

我的问题 很简单,但没有人问过,也没有回答。

我有一个平的JSON:

{"number1":"value1", "number2":"value2", "number3":"value3" } 

我可以将它设置为一个JSONObject就好了。 但是,我不知道如何遍历每个项目,并获得它的关键string和值string。

任何人都可以提供使用JSONObject有效的代码? 我真正想要得到的每个项目的关键和价值w / o预先知道的关键或价值。

提前致谢。

使用keys()迭代器遍历所有属性,并为每个属性调用get()

 Iterator<String> iter = json.keys(); while (iter.hasNext()) { String key = iter.next(); try { Object value = json.get(key); } catch (JSONException e) { // Something went wrong! } } 

Franci答案的简短版本:

 for(Iterator<String> iter = json.keys();iter.hasNext();) { String key = iter.next(); ... } 

您可以使用keys()或者names()方法。 keys()会给你一个包含对象中所有String属性名称的迭代器,而names()会给你一个包含所有关键string名称的数组。

你可以在这里获得JSONObject文档

http://developer.android.com/reference/org/json/JSONObject.html

看看JSONObject的参考:

http://www.json.org/javadoc/org/json/JSONObject.html

如果不实际使用这个对象,它看起来像使用getNames()或keys()返回一个Iterator是一条路。