在golang中创建地图数组的地图

时间:2018-06-12 05:44:19

标签: arrays dictionary go

我想在golang中创建一个json,我需要先创建以下地图:

{"inputs": [{"data": {"image": {"url": "SOME_URL"}}}]}

如何在golang上创建此地图。 (现在即使硬编码也适用于我)

2 个答案:

答案 0 :(得分:2)

在结构中:

type SomeData struct {
    Inputs []struct {
        Data struct {
            Image struct {
                URL string `json:"url"`
            } `json:"image"`
        } `json:"data"`
    } `json:"inputs"`
}

但如果我们希望能够单独添加内容,并且更加惯用,我们会这样做:

type Image struct {
    URL string `json:"url"`
}

type Data struct {
    Image Image `json:"image"`
}


type Input struct {
    Data Data `json:"data"`
}

type SomeData struct {
    Inputs []Input `json:"inputs"`
}

然后,当然,我们总是可以使用地图: someData := map[interface{}]interface{}{}

这实际上取决于您想去哪条路线。我建议使用第二个,因为它可以为您提供更好的细粒度工具,而不会产生任何讨厌的诡计或代码混乱。

希望这有帮助!

答案 1 :(得分:0)

neededMap:= make(map [string] [] map [string] map [string] map [string] string)