<分区>
目前我已将 json 对象作为字符串存储在我的数据库中。我想将它们传递给 map ,以便能够查询任何字段:
Mymap["Name"]
Mymap["Age"]
..
假设我的字符串是这样的:
'{"Name":["zero"],"Age":"10"}'
我不知道数据的结构,所以Json可以有很多字段,也可以嵌套很多层(但我更担心至少得到第一层)
<分区>
目前我已将 json 对象作为字符串存储在我的数据库中。我想将它们传递给 map ,以便能够查询任何字段:
Mymap["Name"]
Mymap["Age"]
..
假设我的字符串是这样的:
'{"Name":["zero"],"Age":"10"}'
我不知道数据的结构,所以Json可以有很多字段,也可以嵌套很多层(但我更担心至少得到第一层)
最佳答案
如果您正在处理任意结构的 json 对象,您可以使用接口(interface)映射作为将其解码为的类型。
map[string]interface{}
encoding/json
包可以很好地将 json 对象解码到其中,无论嵌套与否。
这虽然非常灵活,但有一个明显的缺点,映射值的类型是未知的,因此要对它们做任何有用的事情,您必须使用类型断言或类型切换。
v, ok := m["key"].(Type)
关于json - 将带有 Json 数据的字符串传递给 Golang 中的 Map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47491469/
相关文章:
json - 如何过滤具有多个整数条件和键值的 JSON 对象数组
javascript - Slack API(JSON 数据)
javascript - 使用包含的 json 数据重复附加的 html
postgresql - golang 应用程序如何在 aws 服务器中使用 docker 与 postgres 通信?
mongodb - mongo.Connect() 在使用 mongo-go-driver 的 Go 中无法按预期工作
java - 如何使用freebase api获取一个城市的所有旅游景点?我只能从返回的 JSON 中获取 10
go - 提供包 <package_name> 的模块缺少 go.sum 条目