我正在尝试在我用 Go 编写的 REST API 中解码传入的 JSON。我正在使用decoder.Decode()函数,我的问题是我需要对解码过程中应该使用哪个结构应用某些规则,因为有时 JSON 包含:
"type": {
"type" : "string",
"maxLength" : 30
},
而有时:
"type": {
"type" : "integer",
"max" : 30,
"min" : 10
},
我不知何故需要告诉 Go“如果 type.type 是字符串,则使用这个结构(type Type_String struct),如果 type.type 是整数,使用其他结构(type Type_Integer struct)”。我真的不知道该怎么做。我想到的一个解决方案是创建一个具有所有可能属性的通用结构,在任何类型的对象上使用它,然后根据该type属性过滤属性,但这太脏了。我想我也可以编写自己的解码器,但这似乎也有点奇怪。
我是 Go 的新手,我非常习惯 JavaScript 提供的自由。
森林海
相关分类