我是 Go 的新手,现在遇到了问题。我有一个名为 Message 的类型,它是一个这样的结构:
type Message struct {
Cmd string `json:"cmd"`
Data interface{} `json:"data"`
}
我还有一个叫做 CreateMessage 的类型,如下所示:
type CreateMessage struct {
Conf map[string]int `json:"conf"`
Info map[string]int `json:"info"`
}
我有一个像{"cmd":"create","data":{"conf":{"a":1},"info":{"b":2}}}.
当我用来json.Unmarshal将其解码为 Message 变量时,答案是{Cmd:create Data:map[conf:map[a:1] info:map[b:2]]}.
那么我可以将 JSON 解码为 Message 结构并根据 Cmd 更改其数据接口{}以键入 CreateMessage 吗?
我尝试将 Data 直接转换为 CreateMessage 类型,但编译器告诉我 Data 是一种 map[sting]interface{} 类型。
相关分类