[英]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.