在不同情况下,Golang 是否有可能将 JSON 对象解码为结构,其中 JSON 对象具有可以是对象或数组(或通常支持各种类型)的属性?
例如,在一种情况下,JSON 可能如下所示:
{
"config": {
"source": "config.cnf"
}
}
但同时,JSON也可能是这样的:
{
"config": [ "value1", "value2" ]
}
如果是这样,结构会是什么样子?
最佳答案
您应该解码为空接口(interface) (interface{}
)。因为它没有方法,所以每个类型都实现它。
type Data struct {
Config interface{}
}
我创建了 an elaborate Playground证明这一点。
关于json - 将 JSON 解码为结构,同时支持属性值的不同类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51069813/