{"errcode": 0, "errmsg": "OK", "data": {"name": "Jolly", "age": 19}}
{"errcode": 0, "errmsg": "OK", "data": {"friend": "Lisa", "country": "US"}}
我知道我可以通过定义4个结构来获得这些结构:
type Base1 struct {
ErrCode int `json:"errcode"`
ErrMsg string `json:"errmsg"`
Data Person `json:"data"`
}
type Person struct {
Age int `json:"age"`
Name string `json:"name"`
}
和
type Base2 struct {
ErrCode int `json:"errcode"`
ErrMsg string `json:"errmsg"`
Data Info `json:"data"`
}
type Info struct {
Friend string `json:"friend"`
Country string `json:"country"`
}
如果我想加载json 1,只需输入data := Base1{}
如果我想加载json 2,只需输入data := Base2{}
但是我想知道如何通过3个结构和使用接口来获取它们,因为我有很多提供json构造的API,它们的第一个层与struct Base
喜欢
type Base struct {
ErrCode int `json:"errcode"`
ErrMsg string `json:"errmsg"`
Data interface `json:"data"`
}
如何编写data := Base{...}
并让它成为struct Base1,Base2