我在解组一些我无法控制的 Json 时遇到问题。有一个字段 99% 的时间是字符串,但偶尔是数组。
type MyListItem struct {
Date string `json:"date"`
DisplayName string `json:"display_name"`
}
type MyListings struct {
CLItems []MyListItem `json:"myitems"`
}
var mylist MyListings
err = json.Unmarshal(jsn, &mylist)
if err != nil {
fmt.Print("JSON:\n%s\n error:%v\n", string(jsn),err)
return
}
Run Code Online (Sandbox Code Playgroud)
json如下:
{
"date": "30 Apr",
"display_name": "Mr Smith"
},
{
"date": "30 Apr",
"display_name": ["Mr Smith", "Mr Jones"],
}
Run Code Online (Sandbox Code Playgroud)
错误:json:无法将数组解组为字符串类型的 Go 结构字段 MyListItem.display_name