Rumah  >  Artikel  >  Java  >  Bagaimana untuk Mengakses Kunci Dinamik dalam Keputusan JSON Bersarang?

Bagaimana untuk Mengakses Kunci Dinamik dalam Keputusan JSON Bersarang?

DDD
DDDasal
2024-11-08 00:54:03852semak imbas

How to Access Dynamic Keys in Nested JSON Results?

Menghuraikan Kekunci JSON Dinamik dalam Keputusan JSON Bersarang

Soalan:

Cara untuk mengakses kandungan kunci yang merupakan nilai dinamik dalam hasil JSON?

Contoh JSON:

{
 "status": "OK",
 "search_result": [

            {
                "product": "abc",
                "id": "1132",
                "question_mark": {
                    "141": {
                        "count": "141",
                        "more_description": "this is abc",
                        "seq": "2"
                    },
                    "8911": {
                        "count": "8911",
                        "more_desc": "this is cup",
                        "seq": "1"
                    }
                },
                "name": "some name",
                "description": "This is some product"
            },
            {
                "product": "XYZ",
                "id": "1129",
                "question_mark": {
                    "379": {
                        "count": "379",
                        "more_desc": "this is xyz",
                        "seq": "5"
                    },
                    "845": {
                        "count": "845",
                        "more_desc": "this is table",
                        "seq": "6"
                    },
                    "12383": {
                        "count": "12383",
                        "more_desc": "Jumbo",
                        "seq": "4"
                    },
                    "257258": {
                        "count": "257258",
                        "more_desc": "large",
                        "seq": "1"
                    }
                },
                "name": "some other name",
                "description": "this is some other product"
            }
       ]
}

Penyelesaian:

Untuk mengakses kekunci dinamik dalam hasil JSON bersarang, gunakan kaedah keys() kelas JSONObject. Kaedah ini mengembalikan Iterator yang boleh digunakan untuk mengulang kekunci dalam objek. Sebaik sahaja anda mempunyai kunci, anda boleh menggunakan kaedah getJSONObject(key) untuk mendapatkan semula nilai yang sepadan.

Berikut ialah contoh cara menghuraikan kunci dinamik dalam contoh JSON:

JSONObject searchResult = ...;  // Assuming searchResult is a JSONObject

JSONObject questionMark = searchResult.getJSONObject("question_mark");
Iterator keys = questionMark.keys();

while (keys.hasNext()) {
    String currentDynamicKey = (String) keys.next();
    JSONObject currentDynamicValue = questionMark.getJSONObject(currentDynamicKey);

    // Do something with the dynamic key and value...
}

Kod ini berulang pada kekunci dalam objek tanda_tanya dan mendapatkan semula nilai yang sepadan. Anda kemudiannya boleh menggunakan nilai ini untuk mengakses data yang anda perlukan.

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Kunci Dinamik dalam Keputusan JSON Bersarang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn