【发布时间】:2017-03-30 15:16:00
【问题描述】:
当我尝试遍历某个 json 的映射时遇到问题。
原始 JSON 数据如下所示:
"dataArray": [
{
"name": "default",
"url": "/some/url"
},
{
"name": "second",
"url": "/another/url"
}
]
地图如下所示:
[map[name:default url:/some/url] map[name:second url:/another/url]]
代码如下:
for _, urlItem := range item.(map[string]interface{}){
do some stuff
}
这通常在它是 JSON 对象时有效,但这是 JSON 中的一个数组,我收到以下错误:
panic:接口转换:interface {} 是 []interface {},而不是 map[string]interface {}
任何帮助将不胜感激
【问题讨论】:
-
为什么不只是标记一些结构并以理智的方式解组 JSON?
-
我会的,但有时数据在那里,有时不在那里,所以我需要在数据进入之前对其进行测试。这很痛苦,但如果没有数据可以进入数组,则保存该数组的字段不存在。
-
你的意思是JSON中的字段不存在?在这种情况下,您可以只检查 nil。