{
"key1": "value1",
"key2": "value2",
"key3": "value3"
}
在事先不知道键或值的情况下,如何获取每个项目的键和值?
Short version of Franci's answer:
for(Iterator<String> iter = json.keys();iter.hasNext();) {
String key = iter.next();
...
}
You'll need to use an Iterator
to loop through the keys to get their values.
Here's a Kotlin implementation, you will realised that the way I got the string is using optString()
, which is expecting a String or a nullable value.
val keys = jsonObject.keys()
while (keys.hasNext()) {
val key = keys.next()
val value = targetJson.optString(key)
}
你应该使用keys()
ornames()
方法。 keys()
会给你一个包含对象中所有字符串属性名称的迭代器,同时names()
会给你一个包含所有关键字符串名称的数组。
您可以在此处获取 JSONObject 文档
http://developer.android.com/reference/org/json/JSONObject.html
看看 JSONObject 参考:
http://www.json.org/javadoc/org/json/JSONObject.html
在不实际使用该对象的情况下,看起来使用返回 Iterator 的 getNames() 或 keys() 是可行的方法。