为了账号安全,请及时绑定邮箱和手机立即绑定

将具有重复字段的字符串解组为 json

将具有重复字段的字符串解组为 json

Go
皈依舞 2021-11-01 16:58:09
试图将字符串解组为 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"

}


查看完整回答
反对 回复 2021-11-01
?
红糖糍粑

TA贡献1815条经验 获得超6个赞

您需要 json 注释来告诉解组器哪些数据去哪里,A模型中的类型也是错误的,它也应该是一个数组。我还要将您的字段名称更改为有意义的名称...


type HeaderStruct struct {

    Encoding []string `json:"Encoding-Type"`

    Bytes []string `json:"Bytes"

}


查看完整回答
反对 回复 2021-11-01
  • 2 回答
  • 0 关注
  • 132 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信