问答

golang 怎么定义一个多维map

作者:admin 2021-06-16 我要评论

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

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)
{ 
    "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

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • golang 怎么定义一个多维map

    golang 怎么定义一个多维map

  • golang 报错 segmentation violation c

    golang 报错 segmentation violation c

  • ts的泛型语法在jsx中看着真不舒服

    ts的泛型语法在jsx中看着真不舒服

  • spring boot 定时任务如何持续进行

    spring boot 定时任务如何持续进行

腾讯云代理商
海外云服务器