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 關注
- 148 瀏覽
添加回答
舉報