3 回答
TA贡献1796条经验 获得超7个赞
此数据结构正确地表示您的 JSON:
type Data struct {
Items []struct {
Name string `json:"name"`
Type string `json:"type"`
Value interface{} `json:"value"`
} `json:"items"`
}
然后,您可以使用json.Unmarshal. 如果你使用 Go 1.18,你可以any使用interface{}.
此外,在 Go 中你甚至不需要类型字段。您可以使用类型断言来确定值类型。
TA贡献1785条经验 获得超4个赞
您可以创建这样的结构
type items struct {
name string
type_1 string
value interface{}
}
接口可以容纳任何数据类型,因为类型是保留关键字,我使用了 type_1
TA贡献1804条经验 获得超7个赞
你可以在 Go 1.18 中这样做:
type Data struct {
Items []struct {
Name string `json:"name"`
Type string `json:"type"`
Value any `json:"value"`
} `json:"items"`
}
func main() {
data := Data{}
// it's your json bytes
bytesData := []byte()
if err := json.Unmarshal(byteData, &data); err != nil {
log.Fatal(err)
}
}
// use data here
PS 如果您使用的是旧版本,请使用interface{}而不是any.
- 3 回答
- 0 关注
- 117 浏览
添加回答
举报