我在将 JSON 解组为 Go 结构时遇到问题。显然问题的根源是不稳定的——int64 的字符串即将到来,除了我没有找到解决它的方法而不将 Count 的数据类型更改为 map[string]string。我在 SO 上看到了类似的讨论,但它们并没有太大帮助。这是一个有代表性的代码和问题。请建议我如何通过。
type Product struct {
Count map[string]int64 `json:",string"`
}
func main() {
s := `{"count":{"FAN":"58"}}`
var pro Product
err := json.Unmarshal([]byte(s), &pro)
if err == nil {
fmt.Printf("%+v\n", pro)
} else {
fmt.Println(err)
fmt.Printf("%+v\n", pro)
}
}
输出:
json:无法将字符串解组为 int64 {Count:map[FAN:0]} 类型的 Go struct 字段 Product.Count