{
"key1": "value1",
"key2": "value2",
"key3": "value3"
}
Wie kann ich den Schlüssel und Wert jedes Elements erhalten, ohne vorher den Schlüssel oder Wert zu kennen?
Kurze Version von Francis Antwort:
for(Iterator<String> iter = json.keys();iter.hasNext();) {
String key = iter.next();
...
}
Sie sollten die Methode keys()
oder names()
verwenden. keys()
gibt Ihnen einen Iterator, der alle Namen der String-Eigenschaften im Objekt enthält, während names()
Ihnen ein Array mit allen String-Namen gibt.
Die JSONObject-Dokumentation erhalten Sie hier
http://developer.Android.com/reference/org/json/JSONObject.html
Sie müssen eine Iterator
verwenden, um die Tasten zu durchlaufen, um ihre Werte zu erhalten.
Hier ist eine Kotlin-Implementierung. Sie werden feststellen, dass die Methode, auf die ich den String bekam, optString()
verwendet, die einen String oder einen Wert mit Nullwert erwartet.
val keys = jsonObject.keys()
while (keys.hasNext()) {
val key = keys.next()
val value = targetJson.optString(key)
}