mennanov / fieldmask-utils

Protobuf Field Mask Go utils
MIT License
234 stars 26 forks source link

empty slice #29

Closed chensanle closed 1 year ago

chensanle commented 1 year ago
type MomentInfo struct {}
type list struct {
    MomentInfos []*MomentInfo `json:"moment_infos"`
}

old := &list{[]*MomentInfo{}}
new := map[string]interface{}

_ = fieldmask_utils.StructToMap(mask, old, new, fieldmask_utils.WithTag(`json`))

jsonStr, _ := json.Marshal(new)
t.Log(new, "\n", string(jsonStr))

print

map[moment_infos:[]] 
{"moment_infos":null}

why after json.Marshal got a nil pointer but not an empty slice?

golang 1.18 fieldmask-utils 0.5.0

mennanov commented 1 year ago

@chensanle please take a look at PR https://github.com/mennanov/fieldmask-utils/pull/30 Let me know if this solution works for you.