栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Python中将任何JSON转换为标准字典的golang等效项是什么?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Python中将任何JSON转换为标准字典的golang等效项是什么?

如果您要使用字典,请使用Go类型

map[string]interface{}
map
带有
string
任何类型的键和值的Go 类型):

var data map[string]interface{}

然后您可以引用其元素,例如:

data["entities"]

请参阅以下示例:

s := `{"text":"I'm a text.","number":1234,"floats":[1.1,2.2,3.3],    "innermap":{"foo":1,"bar":2}}`var data map[string]interface{}err := json.Unmarshal([]byte(s), &data)if err != nil {    panic(err)}fmt.Println("text =", data["text"])fmt.Println("number =", data["number"])fmt.Println("floats =", data["floats"])fmt.Println("innermap =", data["innermap"])innermap, ok := data["innermap"].(map[string]interface{})if !ok {    panic("inner map is not a map!")}fmt.Println("innermap.foo =", innermap["foo"])fmt.Println("innermap.bar =", innermap["bar"])fmt.Println("The whole map:", data)

输出:

text = I'm a text.number = 1234floats = [1.1 2.2 3.3]innermap = map[foo:1 bar:2]innermap.foo = 1innermap.bar = 2The whole map: map[text:I'm a text. number:1234 floats:[1.1 2.2 3.3]    innermap:map[foo:1 bar:2]]

在Go Playground上尝试一下。

笔记:

基本上,如果您的地图像上面的示例一样是多层的(

map
包含另一个
map
"innermap"
,则在访问内部地图时,可以使用Type断言将其作为另一个地图:

innermap, ok := data["innermap"].(map[string]interface{})// If ok, innermap is of type map[string]interface{}// and you can refer to its elements.


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/452381.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号