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" } ] }
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... } }
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!