Используйте 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!}}
Примечание. Вы не можете использовать сокращенную форму для (String s: json.keys ()) {...} Очень жаль, что ни JSONArray, ни JSONObject не являются повторяемыми. :-(
tu-Reinstate Monica-dor duh
что здесь json? Json Object, Json Array или что-то еще?
Pravinsingh Waghela
2
@PravinsinghWaghela, это JSONObject, как указано в вопросе
Николас Карраско
67
Краткая версия ответа Франци:
for(Iterator<String> iter = json.keys();iter.hasNext();){String key = iter.next();...}
что здесь json? Json Object, Json Array или что-то еще?
Pravinsingh Waghela
json - это JsonObject
Roozbeh Zabihollahi
@PravinsinghWaghela уверен, что OP спросил, как пройти через объект json.
Денни
5
Вам нужно будет использовать, 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.
Ответы:
Используйте
keys()
итератор для перебора всех свойств и вызоваget()
каждого из них.источник
Краткая версия ответа Франци:
источник
Вам нужно будет использовать,
Iterator
чтобы перебрать ключи, чтобы получить их значения.Вот реализация Kotlin, вы поймете, что используется способ, которым я получил строку
optString()
, которая ожидает String или значение, допускающее значение NULL.источник
Вам следует использовать метод
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