将JSON解组到结构中,同时支持属性值的不同类型
在Golang中是否有可能将JSON对象解组到一个结构中,其中JSON对象的属性在不同情况下可以是object或array(或通常支持各种类型) 例如,在一种情况下,JSON可能如下所示:将JSON解组到结构中,同时支持属性值的不同类型,json,go,Json,Go,在Golang中是否有可能将JSON对象解组到一个结构中,其中JSON对象的属性在不同情况下可以是object或array(或通常支持各种类型) 例如,在一种情况下,JSON可能如下所示: { "config": { "source": "config.cnf" } } 但同时,JSON也可能是这样的: { "config": [ "value1", "value2" ] } 如果是这样,结构会是什么样子?您应该解码到一个空接口(接口{})。因为它没有
{
"config": {
"source": "config.cnf"
}
}
但同时,JSON也可能是这样的:
{
"config": [ "value1", "value2" ]
}
如果是这样,结构会是什么样子?您应该解码到一个空接口(
接口{}
)。因为它没有方法,所以每个类型都实现它
type Data struct {
Config interface{}
}
我已经创建并演示了这一点。json包可以解码成
接口{}
。你遇到了什么问题?