{
"key1": "value1",
"key2": "value2",
"key3": "value3"
}
我怎样才能在不知道键也不值事先每个项目的键和值?
短版弗郎的回答:
for(Iterator<String> iter = json.keys();iter.hasNext();) {
String key = iter.next();
...
}
您shold使用keys()
或names()
方法。 keys()
会给你一个包含所有在该对象的字符串属性名称的迭代器,而names()
会给你所有的密钥字符串名称的数组。
你可以在这里得到的JSONObject文档
http://developer.android.com/reference/org/json/JSONObject.html
你需要通过按键来使用Iterator
循环得到他们的价值观。
这里有一个科特林实现,你会意识到,这样我得到的字符串使用optString()
,这是期待一个字符串或一个空值。
val keys = jsonObject.keys()
while (keys.hasNext()) {
val key = keys.next()
val value = targetJson.optString(key)
}
看看的的JSONObject参考:
http://www.json.org/javadoc/org/json/JSONObject.html
实际上并没有使用对象,它看起来像使用任何getNames()或键()返回一个Iterator是要走的路。