{
"key1": "value1",
"key2": "value2",
"key3": "value3"
}
Önceden anahtarı veya değerini bilmeden her bir öğenin anahtarını ve değerini nasıl alabilirim?
{
"key1": "value1",
"key2": "value2",
"key3": "value3"
}
Önceden anahtarı veya değerini bilmeden her bir öğenin anahtarını ve değerini nasıl alabilirim?
Yanıtlar:
Franci'nin cevabının kısa versiyonu:
for(Iterator<String> iter = json.keys();iter.hasNext();) {
String key = iter.next();
...
}
Iterator
Değerlerini almak için anahtarlar arasında geçiş yapmak için bir kullanmanız gerekecek .
İşte bir Kotlin uygulaması, benim dizeyi kullanma optString()
şeklimin bir Dize veya boş değer atanabilir bir değer beklediğini fark edeceksiniz .
val keys = jsonObject.keys()
while (keys.hasNext()) {
val key = keys.next()
val value = targetJson.optString(key)
}
keys()
Veya names()
yöntemini kullanmalısınız . keys()
size nesnedeki tüm String özellik adlarını içeren bir yineleyici verirken names()
, size tüm anahtar String adlarının bir dizisini verir.
JSONObject belgelerine buradan ulaşabilirsiniz
http://developer.android.com/reference/org/json/JSONObject.html
JSONObject referansına bir göz atın:
http://www.json.org/javadoc/org/json/JSONObject.html
Nesneyi gerçekten kullanmadan, bir Yineleyici döndüren getNames () veya keys () kullanmak gibi görünür.
JSONObject
Android'de yok getNames()
. developer.android.com/reference/org/json/JSONObject.html