场景
golang 将数据从JSON解码为数据结构的时候,如果为空,或未设置,会变成null。
解决办法
方法 UnmarshalJSON
package jsonp
import "encoding/json"
type SpecialUser struct {
Mode string `json:"mode"` // 空时模式
Users []int `json:"users"` // 列出用户
}
func (o *SpecialUser) UnmarshalJSON(data []byte) (err error) {
type alias SpecialUser
var v alias
if err = json.Unmarshal(data, &v); err != nil {
return
}
if len(v.Users) == 0 {
v.Users = make([]int, 0)
}
o.Mode = v.Mode
o.Users = v.Users
return
}
本文探讨了在Golang中解析JSON时遇到空字段的问题,指出了解决方案:使用自定义的UnmarshalJSON方法来避免字段变为null。
948

被折叠的 条评论
为什么被折叠?



