JSON Unmarshalling of Flexible Boolean Values
Apabila berurusan dengan sumber data JSON yang secara tidak konsisten mewakili nilai boolean sebagai 0/1 dan false/true , pakej pengekodan/json standard mungkin tidak memberikan fleksibiliti yang mencukupi untuk menghurai. Untuk menangani isu ini, kami boleh melaksanakan kaedah UnmarshalJSON tersuai untuk mengembangkan format boolean yang diterima.
Dalam contoh yang diberikan, kami mentakrifkan struct bernama MyType dengan dua medan boolean: AsBoolean dan AlsoBoolean. Input JSON yang sepadan mengandungi nilai "true" dan "1" untuk medan masing-masing.
Untuk menyahmarshal kedua-dua 0 dan false sebagai boolean, kami mencipta jenis ConvertibleBoolean baharu dan melaksanakan kaedah UnmarshalJSONnya. Dalam kaedah ini, kami memeriksa data input sebagai rentetan dan menentukan nilai boolean yang sepadan berdasarkan syarat berikut:
Dengan menyesuaikan kaedah UnmarshalJSON, kami boleh melanjutkan tingkah laku unmarshaling JSON lalai dan menampung perwakilan boolean bukan standard dalam data JSON input. Pendekatan ini membolehkan kami menyahmarshal input JSON ke dalam nilai boolean yang dijangkakan dan mengisi struct MyType dengan sewajarnya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyahmarshal Nilai Boolean Fleksibel (0/1 dan benar/salah) daripada JSON dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!