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定义?
回答:
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)
回答:
给你个工具吧:
https://oktools.net/json2go
以上是 golang 怎么定义一个多维map 的全部内容, 来源链接: utcz.com/p/182566.html