英文:
Default Values after Unmarshalling json in Golang
问题
我正在使用Golang中的json.Unmarshall将JSON数据解组为结构体。
在解组之前,我已经将结构体中的所有字段设置为默认值。
现在,在调用json.Unmarshall之后,如果JSON数据中缺少某些结构体字段,Unmarshal不应该设置这些字段,并且这些结构体字段的值应该保留在调用Unmashall之前设置的默认值。
有没有办法做到这一点?
英文:
I am using json.Unmarshall in Golang to unmarshall json data into a structure.
I have set all the fields in my structure to a default values before unmarshalling.
Now after calling json.Unmarshall if some of the structure fields are not present in the json data,the Unmarshal should not set those fields and values of those struct fields should retain default values that I set before calling Unmashall.
Is there any way to do this?
答案1
得分: 1
有没有办法做到这一点?
没有,使用encoding/json是不可能的。
你要么自己编写解码代码,尝试通过提供自己的UnmarshalJSON方法来实现,或者寻找支持此功能的库。但老实说:最好重新设计一下。
英文:
> Is there any way to do this?
No, there isn't with encoding/json.
You either have to write your own unmarshaling code, try to do it by providing your own UnmarshalJSON or look for a library which supports this. But honestly: Just redesign.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论