我在将unmarshalling
这些JSON数据放入包含项目结构的Go切片项目时遇到了一些问题:
response := {
"data": [
{
"name": "a",
"products": [
{
"name": "c"
}
]
},
{
"name": "b",
"products": [
{
"name": "d"
}
]
},
{
"name": "c",
"products": [
{
"name": "e"
}
]
}
]
}
这些是我的结构:
type Item struct {
Name string
Products
}
type Products struct {
Name string
}
切片基本上应该是转换为Go Items切片的“数据”属性(它是一个数组)的值。我尝试了以下操作,但是我一直得到一个空数组
var items []Item{}
json.Unmarshal(response, &items)
fmt.Println(items)
您正在尝试将JSON解组为切片,但该JSON的根是一个对象(您可以知道,因为JSON以a开头{
,表示对象的开始)。您需要考虑该外层:
type Payload struct {
Data []Item
}
var payload Payload
json.Unmarshal(response, &payload)
fmt.Println(payload.Data)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句