以下代码是解释。我可以使用非简单类型的唯一方法是使该类型成为指针。
通过不使用指针,是否有替代解决方案?
代码不工作:
type Foo struct {
Bar Bar `json:"bar,omitempty"`
}
type Bar struct {
Baz string `json:"baz"`
}
func main() {
foo := Foo{}
jsonBytes, _ := json.Marshal(foo)
fmt.Printf("%s\n", jsonBytes)
}
输出:{"bar":{"baz":""}}
代码工作,但不是我想要的:
type Foo struct {
Bar *Bar `json:"bar,omitempty"`
}
type Bar struct {
Baz string `json:"baz"`
}
func main() {
foo := Foo{}
jsonBytes, _ := json.Marshal(foo)
fmt.Printf("%s\n", jsonBytes)
}
输出:{}
答案 0 :(得分:1)
通过不使用指针,是否有替代解决方案?
没有