Menyahmarshall JSON dengan Nama Utama yang Mengandungi Ruang
Dalam proses penyahserikatan JSON, anda mungkin menghadapi kesukaran semasa berurusan dengan data JSON yang merangkumi nama utama dengan ruang. Isu ini timbul apabila menggunakan pengekodan/pustaka json standard dalam Go. Perpustakaan bergelut untuk mentafsir kunci dengan ruang semasa cuba memetakan medan JSON kepada medan struktur.
Untuk menyelesaikan isu ini, pastikan spesifikasi teg JSON adalah betul. Tag json memetakan nama medan JSON kepada nama medan struct. Apabila aksara ruang muncul dalam spesifikasi teg JSON selepas titik bertindih tetapi sebelum tanda petikan, pustaka tidak dapat memetakan medan JSON dengan betul ke medan struct.
Pertimbangkan kod contoh berikut:
type Animal struct { Name string `json:"Na me"` Order string `json:"Order,omitempty"` }
Dalam contoh ini, teg JSON untuk medan "Nama" tidak dinyatakan dengan betul dengan ruang selepas titik bertindih. Untuk menyelesaikan isu ini, alih keluar ruang dan nyatakan teg seperti berikut:
type Animal struct { Name string `json:"Name"` Order string `json:"Order,omitempty"` }
Dengan pengubahsuaian ini, perpustakaan JSON boleh berjaya memetakan nama medan JSON kepada nama medan struct, walaupun jika nama medan mengandungi ruang. Ini memastikan bahawa medan struct diisi dengan sewajarnya dengan nilai daripada data JSON.
Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Kunci JSON dengan Spaces dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!