golang 怎么定义一个多维map

{ 
    "loadbalancer": { 
        "name": "lb1", 
        "ips": ["192.168.1.1", "192.168.1.2"],
        "tag": [
             {"key": "name", "value": "test111"},
             {"key": "Env", "value": "prod"} 
        ]
    },
    "type": "internet"
}

我需要把上面的数据格式转成 json 当做调用其它API的参数,以前是写python的,在python中直接定义一个字典就行了。我在接收端直接使用 json.Unmarshal之后转成了这样的map map[loadbalancer:map[ips:[192.168.1.1 192.168.1.2] name:lb1 tag:[map[key:name value:test111] map[key:Env value:prod]]] type:internet] ,我客户端应该怎么定义这个数据结构,是应该自定义 struct,还是直接使用 map定义?

阅读 3.7k
2 个回答
type Tag struct {
    Key string `json:"key"`
    Value string `json:"value"`
}

type Tmp struct {
    Loadbalancer struct{
        Name string `json:"name"`
        Ips []string `json:"ips,omitempty"`
        Tag []Tag `json:"tag"`
    } `json:"loadbalancer"`
    Type string `json:"type"`
}

var tmp Tmp
json.Unmarshal([]byte(str),&tmp)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题