Rumah > Java > javaTutorial > Bagaimana untuk Mengakses Kekunci JSON Dinamik dalam Hasil Bersarang?

Bagaimana untuk Mengakses Kekunci JSON Dinamik dalam Hasil Bersarang?

Linda Hamilton
Lepaskan: 2024-11-10 15:26:03
asal
1021 orang telah melayarinya

How to Access Dynamic JSON Keys in Nested Results?

Mengakses Kekunci JSON Dinamik dalam Hasil Bersarang

Dalam data JSON, kunci boleh menjadi dinamik, bermakna ia berbeza dari satu objek ke objek. Ini boleh menimbulkan cabaran apabila mengakses nilai tertentu, terutamanya dalam struktur bersarang.

Untuk mengendalikan kekunci JSON dinamik dalam hasil bersarang, anda boleh memanfaatkan kaedah keys() dalam kelas JSONObject. Kaedah ini mengembalikan iterator yang membolehkan anda melelar ke atas kekunci yang tersedia dalam objek JSON.

Pertimbangkan struktur JSON berikut:

{
 "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"
            }
       ]
}
Salin selepas log masuk

Untuk mengakses kandungan medan "tanda_soalan" untuk setiap objek dalam tatasusunan "hasil_carian", anda boleh menggunakan kod berikut:

for (JSONObject searchResult : searchResults) {
    JSONObject questionMark = searchResult.getJSONObject("question_mark");
    Iterator<String> keys = questionMark.keys();
    
    while (keys.hasNext()) {
        String currentDynamicKey = keys.next();
        
        // Get the value of the dynamic key
        JSONObject currentDynamicValue = questionMark.getJSONObject(currentDynamicKey);
        
        // Do something here with the value...
    }
}
Salin selepas log masuk

Kod ini berulang pada kekunci yang tersedia dalam medan "tanda_tanya" dan mendapatkan semula nilai yang dikaitkan dengan setiap kunci. Anda kemudian boleh menggunakan nilai ini untuk pemprosesan atau paparan selanjutnya.

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

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan