Menyahkod JSON menjadi Go Struct
Dalam Go, menghuraikan fail JSON ke dalam struct memerlukan penggunaan pakej pengekodan/json. Walau bagaimanapun, penghuraian struktur JSON yang salah boleh membawa kepada hasil yang tidak dijangka.
Pertimbangkan coretan kod yang disediakan di bawah:
var settings struct { serverMode bool sourceDir string targetDir string } func main() { // ... }
Dengan fail konfigurasi JSON:
{ "serverMode": true, "sourceDir": ".", "targetDir": "." }
Anda mungkin menghadapi output yang membingungkan:
false (false and two empty strings)
Isu ini timbul kerana elemen struktur tidak dieksport. Secara lalai, elemen struktur yang bermula dengan huruf kecil tidak dapat dilihat oleh pengekod/penyahkod JSON. Untuk menyelesaikan masalah ini, eksport elemen struct dengan menggunakan huruf besar pada huruf pertamanya:
var settings struct { ServerMode bool `json:"serverMode"` SourceDir string `json:"sourceDir"` TargetDir string `json:"targetDir"` }
Mengeksport elemen struct memastikan pengekod/penyahkod JSON boleh mengakses dan menyahkod nilai struct. Ini akan menghasilkan penghuraian yang betul bagi fail konfigurasi JSON ke dalam struct.
Atas ialah kandungan terperinci Mengapa struct Go saya tidak menyahkod JSON dengan betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!