{
"key1": "value1",
"key2": "value2",
"key3": "value3"
}
मैं पहले से ही बिना कुंजी और मूल्य को जाने बिना प्रत्येक आइटम की कुंजी और मूल्य कैसे प्राप्त कर सकता हूं?
{
"key1": "value1",
"key2": "value2",
"key3": "value3"
}
मैं पहले से ही बिना कुंजी और मूल्य को जाने बिना प्रत्येक आइटम की कुंजी और मूल्य कैसे प्राप्त कर सकता हूं?
जवाबों:
keys()सभी गुणों पर पुनरावृति करने के लिए पुनरावृत्ति का उपयोग करें , और get()प्रत्येक के लिए कॉल करें ।
Iterator<String> iter = json.keys();
while (iter.hasNext()) {
String key = iter.next();
try {
Object value = json.get(key);
} catch (JSONException e) {
// Something went wrong!
}
}
Franci के उत्तर का लघु संस्करण:
for(Iterator<String> iter = json.keys();iter.hasNext();) {
String key = iter.next();
...
}
आपको एक का उपयोग करने की आवश्यकता होगी Iterator उनके मान प्राप्त करने के लिए कुंजियों के माध्यम से लूप ।
यहाँ एक कोटलिन कार्यान्वयन है, आपको एहसास होगा कि जिस तरह से मुझे स्ट्रिंग मिला है वह उपयोग कर रहा है optString(), जो स्ट्रिंग या अशक्त मूल्य की उम्मीद कर रहा है।
val keys = jsonObject.keys()
while (keys.hasNext()) {
val key = keys.next()
val value = targetJson.optString(key)
}
आप keys()या तो names()विधि या विधि का उपयोग करते हैं । keys()आपको ऑब्जेक्ट में सभी स्ट्रिंग प्रॉपर्टी के नाम वाला एक इटरेटर names()देगा, जबकि आपको सभी प्रमुख स्ट्रिंग नामों की एक सरणी देगा।
आप यहाँ JSONObject प्रलेखन प्राप्त कर सकते हैं
http://developer.android.com/reference/org/json/JSONObject.html
JSONObject संदर्भ पर एक नज़र डालें:
http://www.json.org/javadoc/org/json/JSONObject.html
वास्तव में वस्तु का उपयोग किए बिना, यह getNames () या कुंजियों () का उपयोग करने जैसा दिखता है जो एक Iterator देता है जो जाने का रास्ता है।
JSONObjectएंड्रॉयड में नहीं है getNames()। developer.android.com/reference/org/json/JSONObject.html