golang JSON技巧
有的时候上游传过来的字段是string类型的,但是我们却想用变成数字来使用. 本来用一个json:",string" 就可以支持了,如果不知道golang的这些小技巧,就要大费周章了. 如果想临时忽略掉空 Password字段,可以用 omitempty: 临时忽略掉空 Password字段,并且添加 token 字段 通过嵌入struct的方式: 这个对应的json是 {"Field1": "100"} 如果json是 {"Field1": 100} 则会报错 如果您使用的是jsoniter,可以启动 模糊模式 来支持 PHP 传递过来的 JSON. 这样就可以处理字符串和数字类型不对的问题了.比如 又比如 PHP另外一个令人崩溃的地方是,如果 PHP array是空的时候,序列化出来是[].但是不为空的时候,序列化出来的是{"key":"value"}. 我们需要把 [] 当成 {} 处理. 如果您使用的是jsoniter,可以启动模糊模式来支持 PHP 传递过来的 JSON. 这样就可以支持了 golang 默认会把 time.Time 用字符串方式序列化.如果我们想用其他方式表示 time.Time,需要自定义类型并定义 MarshalJSON.
https://mojotv.cn/2018/12/26/golang-json-tips