Utilisez l' keys()itérateur pour parcourir toutes les propriétés et appelez get()chacune d'elles.
Iterator<String> iter = json.keys();while(iter.hasNext()){String key = iter.next();try{Object value = json.get(key);}catch(JSONException e){// Something went wrong!}}
Remarque: vous ne pouvez pas utiliser la forme courte pour (String s: json.keys ()) {...} C'est vraiment dommage que ni JSONArray ni JSONObject ne soient itérables. :-(
tu-Reinstate Monica-dor duh
qu'est-ce que json ici? Json Object, Json Array ou autre chose?
Pravinsingh Waghela
2
@PravinsinghWaghela c'est un JSONObject comme spécifié dans la question
Nicolás Carrasco
66
Version courte de la réponse de Franci:
for(Iterator<String> iter = json.keys();iter.hasNext();){String key = iter.next();...}
qu'est-ce que json ici? Json Object, Json Array ou autre chose?
Pravinsingh Waghela
json est JsonObject
Roozbeh Zabihollahi
@PravinsinghWaghela à peu près sûr que l'OP a demandé comment faire une boucle à travers un objet json.
Denny
5
Vous devrez utiliser une Iteratorboucle pour parcourir les clés pour obtenir leurs valeurs.
Voici une implémentation de Kotlin, vous vous rendrez compte que la façon dont j'ai obtenu la chaîne utilise optString(), qui attend une chaîne ou une valeur Nullable.
val keys = jsonObject.keys()while(keys.hasNext()){
val key = keys.next()
val value = targetJson.optString(key)}
Vous devez utiliser la méthode keys()ou names(). keys()vous donnera un itérateur contenant tous les noms de propriété String dans l'objet tandis que names()vous donnera un tableau de tous les noms String clés.
Vous pouvez obtenir la documentation JSONObject ici
Réponses:
Utilisez l'
keys()
itérateur pour parcourir toutes les propriétés et appelezget()
chacune d'elles.la source
Version courte de la réponse de Franci:
la source
Vous devrez utiliser une
Iterator
boucle pour parcourir les clés pour obtenir leurs valeurs.Voici une implémentation de Kotlin, vous vous rendrez compte que la façon dont j'ai obtenu la chaîne utilise
optString()
, qui attend une chaîne ou une valeur Nullable.la source
Vous devez utiliser la méthode
keys()
ounames()
.keys()
vous donnera un itérateur contenant tous les noms de propriété String dans l'objet tandis quenames()
vous donnera un tableau de tous les noms String clés.Vous pouvez obtenir la documentation JSONObject ici
http://developer.android.com/reference/org/json/JSONObject.html
la source
Jetez un œil à la référence JSONObject:
http://www.json.org/javadoc/org/json/JSONObject.html
Sans réellement utiliser l'objet, il semble que l'utilisation de getNames () ou keys () renvoie un Iterator est la voie à suivre.
la source
JSONObject
dans Android n'a pasgetNames()
. developer.android.com/reference/org/json/JSONObject.html