在golang中解码json而不声明类型关系?

在golang中解码json而不声明类型关系?,json,go,Json,Go,我不想指定json的类型,因为它们非常混乱和复杂,我只想将它们加载到内存中,并在需要时执行查找 使用动态语言(例如python)很容易 data = json.loads(str) if "foo" in data: ... 如何在go中执行相同的操作?您可以将解组到接口{}值中,以解码任意JSON 以身作则 您需要使用类型开关来访问以这种方式解码的数据。例如: age := f.(map[string)interface{})["Age"].(int) 以下是一个对我来说似乎更容易理

我不想指定json的类型,因为它们非常混乱和复杂,我只想将它们加载到内存中,并在需要时执行查找

使用动态语言(例如python)很容易

data = json.loads(str)
if "foo" in data:
   ...

如何在go中执行相同的操作?

您可以将解组到
接口{}
值中,以解码任意JSON

以身作则

您需要使用类型开关来访问以这种方式解码的数据。例如:

age := f.(map[string)interface{})["Age"].(int)

以下是一个对我来说似乎更容易理解的示例,我希望它对您也适用:
. 查找单词“arbitral”

答案中描述的将
接口{}
解组的方法确实是正确的,但根据经验,在复杂的json对象中,这是一场噩梦,最好提前指定数据结构。那么,为什么不指定类型呢?你说凌乱是什么意思?你不能简化一下吗?
age := f.(map[string)interface{})["Age"].(int)