首页 > 后端开发 > Golang > 如何在 Go JSON Marshal 中省略空嵌套结构?

如何在 Go JSON Marshal 中省略空嵌套结构?

Patricia Arquette
发布: 2024-12-16 02:41:14
原创
595 人浏览过

How to Omit Empty Nested Structs in Go JSON Marshal?

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板