{
"key1": "value1",
"key2": "value2",
"key3": "value3"
}
Как я могу получить ключ и значение каждого элемента, не зная заранее ни ключа, ни значения?
{
"key1": "value1",
"key2": "value2",
"key3": "value3"
}
Как я могу получить ключ и значение каждого элемента, не зная заранее ни ключа, ни значения?
Ответы:
Краткая версия ответа Франци:
for(Iterator<String> iter = json.keys();iter.hasNext();) {
String key = iter.next();
...
}
Вам нужно будет использовать, Iterator
чтобы перебрать ключи, чтобы получить их значения.
Вот реализация Kotlin, вы поймете, что используется способ, которым я получил строку optString()
, которая ожидает String или значение, допускающее значение NULL.
val keys = jsonObject.keys()
while (keys.hasNext()) {
val key = keys.next()
val value = targetJson.optString(key)
}
Вам следует использовать метод 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.
JSONObject
Android нет getNames()
. developer.android.com/reference/org/json/JSONObject.html