这个问题寻求一种将 Golang 结构转换为映射的方法,在结果映射中维护 JSON 标签作为键。最初,使用 Reflect 包探索响应。
structs 包 (https://github.com/fatih/structs) 提供了替代解决方案,它提供了用于处理结构的全面功能:
structs 包支持匿名字段和嵌套结构体,并允许过滤使用字段标签的特定字段。例如:
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)
在此示例中,json 标签用作映射键,生成结构体的符合 JSON 的映射表示。 structs 包提供了一个多功能工具来管理结构并将其转换为映射,从而有效地解决原始请求。
以上是如何使用 JSON 标签作为键将 Go 结构体转换为映射?的详细内容。更多信息请关注PHP中文网其他相关文章!