试图将字符串解组为 json,但我的结构定义不起作用。如何修复?package mainimport "fmt"import "encoding/json"func main() { x := `{ "Header": { "Encoding-Type": [ "gzip" ], "Bytes": [ "29" ] }}` type HeaderStruct struct { A string B []string } type Foo struct { Header HeaderStruct } var f Foo if e := json.Unmarshal([]byte(x), &f); e != nil { fmt.Println("Failed:", e) } else { fmt.Println("unmarshalled=", f) }}
2 回答
明月笑刀无情
TA贡献1828条经验 获得超4个赞
您的变量名称与 json 键的名称不匹配,并且它们都是[]string. 你可以做
type HeaderStruct struct {
A []string `json:"Encoding-Type"`
B []string `json:"Bytes"
}
红糖糍粑
TA贡献1815条经验 获得超6个赞
您需要 json 注释来告诉解组器哪些数据去哪里,A模型中的类型也是错误的,它也应该是一个数组。我还要将您的字段名称更改为有意义的名称...
type HeaderStruct struct {
Encoding []string `json:"Encoding-Type"`
Bytes []string `json:"Bytes"
}
- 2 回答
- 0 关注
- 132 浏览
添加回答
举报
0/150
提交
取消