Menyahmarshaling JSON Bersarang dengan Struktur Tidak Diketahui
Apabila bekerja dengan pangkalan data yang menyimpan dokumen JSON dengan struktur yang berbeza-beza, ia boleh mencabar untuk menyahmarshal data ke dalam struct tertentu tanpa mengetahui struktur yang tepat terlebih dahulu. Di sini kami meneroka dua pendekatan untuk menangani isu ini.
Menyemak Jenis
Sebelum menyahmarshall data JSON, kita perlu menentukan jenisnya. Ini boleh dicapai menggunakan salah satu kaedah berikut:
Menyahmarseling ke dalam Struktur Khusus
Setelah kami menentukan jenis data JSON, kami boleh menyahmarselingnya ke dalam struct yang sepadan. Dalam kes anda, jika anda mengetahui jenis yang mungkin terlebih dahulu, anda boleh mencipta satu siri pernyataan if-else atau pernyataan suis untuk menyahmarshal data ke dalam struct yang sesuai.
Mengelakkan Unmarshal Berulang
Untuk mengelakkan unmarshal berulang, anda boleh mencipta salinan json.RawMessage dan Unmarshal ke dalam antara muka terlebih dahulu. Sebaik sahaja anda mengetahui jenisnya, anda boleh Nyahmarshal json.RawMessage asal ke dalam struct jenis yang ditentukan.
Menggunakan Ungkapan Biasa untuk Menentukan Jenis
Jika anda lebih suka menggunakan ungkapan biasa, anda boleh mengikuti langkah di bawah:
Kesimpulan
Oleh menggunakan pendekatan di atas, anda boleh membongkar data JSON bersarang dengan cekap tanpa mengetahui strukturnya yang tepat. Ini membolehkan lebih fleksibiliti dan kemudahan apabila bekerja dengan sumber data dinamik.
Atas ialah kandungan terperinci Bagaimana untuk Unmarshal Nested JSON dengan Struktur Tidak Diketahui?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!