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

json.Unmarshal 嵌套对象成字符串或 []byte

json.Unmarshal 嵌套对象成字符串或 []byte

Go
倚天杖 2021-07-08 14:11:14
我正在尝试解组一些 json 以便嵌套对象不会被解析而只是被视为 a stringor []byte。所以我想得到以下内容:{    "id"  : 15,    "foo" : { "foo": 123, "bar": "baz" }}解组为:type Bar struct {    ID  int64  `json:"id"`    Foo []byte `json:"foo"`}我收到以下错误:json: cannot unmarshal object into Go value of type []uint8
查看完整描述

3 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

定义实现Unmarshaler接口的类型可以让您访问[]byte正在解析的 。


type Prefs []byte


func (p *Prefs) UnmarshalJSON(b []byte) error {

    *p = make(Prefs, len(b))

    copy(*p, b)

    return nil

}


查看完整回答
反对 回复 2021-07-12
  • 3 回答
  • 0 关注
  • 419 浏览
慕课专栏
更多

添加回答

举报

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