Użyj keys()iteratora, aby iterować po wszystkich właściwościach i wywołać get()każdą z nich.
Iterator<String> iter = json.keys();while(iter.hasNext()){String key = iter.next();try{Object value = json.get(key);}catch(JSONException e){// Something went wrong!}}
co jest tutaj json? Json Object, Json Array czy coś jeszcze?
Pravinsingh Waghela
json to JsonObject
Roozbeh Zabihollahi
@PravinsinghWaghela jest prawie pewien, że OP zapytał, jak wykonać pętlę przez obiekt json.
Denny
5
Musisz użyć Iterator do zapętlenia kluczy, aby uzyskać ich wartości.
Oto implementacja Kotlina, zdasz sobie sprawę, że sposób, w jaki otrzymałem ciąg, wykorzystuje optString(), który oczekuje wartości String lub wartości null.
val keys = jsonObject.keys()while(keys.hasNext()){
val key = keys.next()
val value = targetJson.optString(key)}
Należy użyć metody keys()lub names(). keys()da ci iterator zawierający wszystkie nazwy właściwości String w obiekcie, podczas gdy names()da ci tablicę wszystkich kluczowych nazw String.
Odpowiedzi:
Użyj
keys()
iteratora, aby iterować po wszystkich właściwościach i wywołaćget()
każdą z nich.źródło
Krótka wersja odpowiedzi Franci:
źródło
Musisz użyć
Iterator
do zapętlenia kluczy, aby uzyskać ich wartości.Oto implementacja Kotlina, zdasz sobie sprawę, że sposób, w jaki otrzymałem ciąg, wykorzystuje
optString()
, który oczekuje wartości String lub wartości null.źródło
Należy użyć metody
keys()
lubnames()
.keys()
da ci iterator zawierający wszystkie nazwy właściwości String w obiekcie, podczas gdynames()
da ci tablicę wszystkich kluczowych nazw String.Możesz pobrać dokumentację JSONObject tutaj
http://developer.android.com/reference/org/json/JSONObject.html
źródło
Spójrz na odniesienie do JSONObject:
http://www.json.org/javadoc/org/json/JSONObject.html
Wygląda na to, że bez faktycznego używania obiektu użycie metody getNames () lub keys (), która zwraca Iterator, jest właściwą drogą.
źródło
JSONObject
systemie Android nie magetNames()
. developer.android.com/reference/org/json/JSONObject.html