前言
在尝试将结构体序列化为 Json 时,你可能会遇到 “omitempty” 标记,本小记就来浅看一下它如何起作用。
先上结论:
- 基本类型的默认值会被 omit,除了数组。
- 指针类型为 nil 时会被 omit。
Talk is cheap. Show me the code.
TestNotOmitEmpty
全部序列化成功。
TestOmitEmptyWithDefaultValue
默认值全军覆没,除了数组。
testOmitEmptyWithDefaultValueButFatherSet
自己设置的默认值也全军覆没,除了数组。
testOmitEmptyWithNotDefaultValueButFatherSet
非默认值当然不会被省略了。