JSON 的 omitempty 会隐藏什么
omitempty 能让响应更简洁,但也会隐藏零值。比如数量为 0、布尔值 false,在某些业务里是明确状态,不应该被省略。
type Resp struct {
Enabled bool `json:"enabled"`
Count int `json:"count"`
}如果字段必须表达“没有值”和“值为零”的区别,可以使用指针类型或额外状态字段。不要让调用方猜字段不存在到底是什么意思。
接口设计里,省几个字节通常不如语义稳定重要。尤其是前后端联调时,字段忽隐忽现会增加很多兼容成本。
版权申明
本文系作者 @blogger 原创发布在JSON 的 omitempty 会隐藏什么。未经许可,禁止转载。
评论
-- 评论已关闭 --
全部评论