অ্যান্ড্রয়েড জেএসএনওবজেক্ট - প্রতিটি কী এবং মান পেতে আমি কীভাবে ফ্ল্যাট জেএসওএন বস্তুর মধ্য দিয়ে লুপ করব


উত্তর:


313

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!
    }
}

7
দ্রষ্টব্য: আপনি (স্ট্রিং s: json.keys ()) এর জন্য সংক্ষিপ্ত ফর্মটি ব্যবহার করতে পারবেন না {... a এটি সত্যই লজ্জাজনক যে JSONArray বা JSONObject উভয়ই পুনরাবৃত্তিযোগ্য নয়। :-(
ইনস্টল করুন মনিকা-ডোর দুহ

এখানে জসন কী? জসন অবজেক্ট, জসন অ্যারে নাকি অ্যান্থিং?
প্রভিনসিংহ ওয়াঘেলা

2
@PravinsinghWaghela এটা প্রশ্নে উল্লিখিত একটি JSONObject কে অবশ্যই এর
নিকোলাস কারাস্কো

66

ফ্রেঞ্চির উত্তরের সংক্ষিপ্ত সংস্করণ:

for(Iterator<String> iter = json.keys();iter.hasNext();) {
    String key = iter.next();
    ...
}

এখানে জসন কী? জসন অবজেক্ট, জসন অ্যারে নাকি অ্যান্থিং?
প্রভিনসিংহ ওয়াঘেলা

JSON JSONObject কে অবশ্যই হয়
Roozbeh Zabihollahi

@ প্রবিনসিংহ ওয়াঘেলা বেশ নিশ্চিত যে ওপি কীভাবে কোনও জেএসন বস্তুর মধ্য দিয়ে লুপ করবেন asked
ডেনি

5

Iteratorকীগুলির মানগুলি পেতে আপনাকে লুপটি ব্যবহার করতে হবে।

এখানে একটি কোটলিন বাস্তবায়ন, আপনি বুঝতে পারবেন যে আমি যেভাবে স্ট্রিংটি পেয়েছি সেটি ব্যবহার optString()করছে, যা একটি স্ট্রিং বা নলযোগ্য মান আশা করে।

val keys = jsonObject.keys()
while (keys.hasNext()) {
    val key = keys.next()
    val value = targetJson.optString(key)        
}

3

আপনি keys()বা names()পদ্ধতিটি ব্যবহার করতে পারেন । keys()আপনাকে অবজেক্টের সমস্ত স্ট্রিং বৈশিষ্ট্য সমেত একটি পুনরাবৃত্তি names()দেবে এবং আপনাকে সমস্ত কী স্ট্রিং নামের একটি অ্যারে দেবে।

আপনি এখানে JSONObject ডকুমেন্টেশন পেতে পারেন

http://developer.android.com/reference/org/json/JSONObject.html


-2

JSONObject রেফারেন্সটি একবার দেখুন:

http://www.json.org/javadoc/org/json/JSONObject.html

আসলে অবজেক্টটি ব্যবহার না করে দেখে মনে হচ্ছে যে কোনওটি getNames () বা কী () ব্যবহার করে যা কোনও আইট্রেটরে ফিরে আসে।


1
ভুল লিঙ্ক। JSONObjectAndroid এর মধ্যে নেই getNames()বিকাশকারী.অ্যান্ড্রয়েড.
com
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.