{
"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();
...
}
IteratorDeğ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.
JSONObjectAndroid'de yok getNames(). developer.android.com/reference/org/json/JSONObject.html