Soalan ini mencari kaedah untuk menukar struct Golang kepada peta, mengekalkan tag JSON sebagai kunci dalam peta yang terhasil . Pada mulanya, respons diterokai menggunakan pakej reflect.
Penyelesaian alternatif disediakan oleh pakej structs (https://github.com/fatih/structs) yang menawarkan fungsi komprehensif untuk bekerja dengan struct:
Pakej structs menyokong medan tanpa nama dan struct bersarang, dan membenarkan untuk menapis medan tertentu menggunakan tag medan. Contohnya:
type Server struct { Name string `json:"server_name"` ID int32 `json:"server_id"` Enabled bool `json:"is_enabled"` } s := &Server{ Name: "gopher", ID: 123456, Enabled: true, } // {"server_name": "gopher", "server_id": 123456, "is_enabled": true} m := structs.Map(s)
Dalam contoh ini, teg json digunakan sebagai kunci peta, menghasilkan perwakilan peta yang mematuhi JSON bagi struct. Pakej structs menyediakan alat serba boleh untuk mengurus struct dan menukarnya kepada peta, menangani permintaan asal dengan berkesan.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Go Struct kepada Peta Menggunakan Tag JSON sebagai Kekunci?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!