{
"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.
JSONObjectAndroid нет getNames(). developer.android.com/reference/org/json/JSONObject.html