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是一条路。