我需要从网络接收JSON格式的数据,并根据一个键进行反序列化。
以下是数据示例:
{
"foo": {
"11883920": {
"fieldA": 123,
"fieldB": [
{
"fieldC": "a",
"fieldD": 1173653.22
}
]
}
},
"bar": {
"123": {
"fieldE": 123
}
}
"anyOtherkey": {...}
}
逻辑是,如果键是
foo
,则应将其解组为fooStruct
,如果是bar
,则解组为barStruct
。
实现此逻辑的最佳方法是什么?(我不想将其解组为map[string]interface{}
,也许可以使用json.NewDecoder()
函数,但我无法获得预期结果)。