我希望将数据反序列化为定义如下的结构体Outer
:
type Outer struct {
Inner
Num int
}
type Inner struct {
Data string
}
func (i *Inner) UnmarshalJSON(data []byte) error {
i.Data = string(data)
return nil
}
使用 json.Unmarshal(data, &Outer{})
看起来只会使用 Inner
的 UnmarshalJSON
方法,而忽略了 Num
字段: https://play.golang.org/p/WUBfzpheMl
我有一个笨重的解决方案,是手动设置 Num
字段,但我想知道是否有更简洁或更简单的方法。
谢谢!