【发布时间】:2016-12-23 06:34:37
【问题描述】:
我想解组 struct 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
我有一个笨拙的solution,我在其中手动设置了Num 字段,但我想知道是否有人有更简洁或更简单的方法。
谢谢!
【问题讨论】:
-
请注意,原因在Go语言参考的这部分解释:golang.org/ref/spec#Struct_types(查找单词“promoted”)
标签: json go unmarshalling