簡體   English   中英

如何在Go中解析以下JSON結構

[英]How can I parse the following JSON structure in Go

在Go中,如何解析以下JSON? 我知道使用struct進行解析,但是每個條目的鍵都不同,它們也不是固定的,它們可以或多或少。

{
  "consul": [],
  "docker": [],
  "etcd": ["etcd"],
  "kubernetes": ["secure"],
  "mantl-api": [],
  "marathon": ["marathon"],
  "mesos": ["agent", "follower", "leader", "master"],
  "mesos-consul": [],
  "zookeeper": ["mantl"]
}

感謝幫助!

如果json值始終是[]string ,則可以使用

json.Unmarshal(value, &map[string][]string)

但是,如果沒有,最好的方法是在map [string] interface {}中解組JSON,然后檢查您想要的每種字段類型。

將JSON解組為地圖類型: map[string][]string

var m map[string][]string
if err := json.Unmarshal(data, &m); err != nil {
    // handle error
}

游樂場的例子

您還可以提供Go'結構以更流暢地進行編組...

type Rec struct {
    Consul      []string // `json:"consul"`
    Docker      []string // `json:"docker"`
    Etcd        []string // `json:"etcd"`
    Kubernetes  []string // `json:"kubernetes"`
    MantlApi    []string // `json:"mantl-api"`
    Marathon    []string // `json:"marathon"`
    Mesos       []string // `json:"mesos"`
    MesosConsul []string // `json:"mesos-consul"`
    Zookeeper   []string // `json:"zookeeper"`
}

操場上的工作實例

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM