Go JSON Marshal:省略空嵌套结构
Go 中的 json:",omitempty" 标签允许您排除具有空的字段JSON 输出的值。但是,此行为不适用于零值结构。
要省略嵌套结构(如果它有任何空字段),您可以使用指针而不是非指针结构。这可确保该结构在未分配非零值的情况下被视为空。
例如,考虑以下结构:
type ColorGroup struct { ID int `json:",omitempty"` Name string Colors []string } type Total struct { A *ColorGroup `json:",omitempty"` // Use pointer B string `json:",omitempty"` }
在这种情况下,如果 group .A 未分配非零值,它将被视为空并从 JSON 输出中省略。这与使用非指针结构形成对比,后者仍会在 JSON 输出中包含空 group.A。
以下 Playground 链接演示了此行为:https://play.golang.org/p /3i7rh4e3t3D
以上是如何在 Go JSON Marshal 中省略空嵌套结构?的详细内容。更多信息请关注PHP中文网其他相关文章!