迭代并从地图中获取值

时间:2014-12-20 01:46:25

标签: dictionary go iteration

我有一些JSON数据,我已经将其编组到一个名为data_json的地图中。它包含数百个项目。

使用以下代码我可以成功检索地图中某个项目的“dn”值,但是我正在努力如何遍历整个结构以获取所有项目的“dn”值地图。

objects := data_json["data"].([]interface{})
first := objects[0].(map[string]interface{})
fmt.Println(first["dn"])

我尝试过这种方法,但我对如何构建键和值感到困惑。

for v, k := range keys {
fmt.Println("Key:", k, "Value:", m[k])
}

1 个答案:

答案 0 :(得分:1)

如果您的意思是所有项目都是objects,您就会这样做,如下所示:

func printAllDataDn(data_json map[string]interface{}) {
    objects := data_json["data"].([]interface{})
    for _, v := range objects {
        item := v.(map[string]interface{})
        fmt.Println(item["dn"])
    }
}