我正在调用一个API,它会像这样返回Json对象:
{
name: "XXX"
type: "TYPE_1"
shared_fields: {...}
type_1_fields: {...}
..
type_2_fields: {...}
}
根据不同的类型,此对象将具有不同类型的字段,但这些字段对于不同类型是确定的 . 因此,我将Json字符串解组以映射[string] interface {}以获取不同的类型,但是如何将这些map [string] interface {}转换为某个结构?
var f map[string]interface{}
err := json.Unmarshal(b, &f)
type := f["type"]
switch type {
case "type_1":
//initialize struct of type_1
case "type_2":
//initialize struct of type_2
}