Golang中是否有可能将JSON对象解组为一个结构,在该结构中JSON对象具有在不同情况下可以是对象或数组(或通常支持各种类型)的属性?
例如,在一种情况下,JSON可能看起来像这样:
{
"config": {
"source": "config.cnf"
}
}
但与此同时,JSON也可能像这样:
{
"config": [ "value1", "value2" ]
}
如果是这样,该结构看起来如何?
答案 0 :(得分:1)
您应该解码为空接口(interface{}
)。因为它没有方法,所以每种类型都可以实现。
type Data struct {
Config interface{}
}
我创建了an elaborate Playground来证明这一点。