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

我正在尝试解组一些 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


倚天杖
浏览 420回答 3
3回答

蛊毒传说

定义实现Unmarshaler接口的类型可以让您访问[]byte正在解析的 。type Prefs []bytefunc (p *Prefs) UnmarshalJSON(b []byte) error {    *p = make(Prefs, len(b))    copy(*p, b)    return nil}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go