{
"machines": [{
"name": "relay_1",
"totalmem": "3G",
"machinemem": "6G"
}, {
"name": "relay_2",
"totalmem": "30G",
"machinemem": "4G"
}]
}
尝试使用下面的代码进行解析
Run: func(cmd *cobra.Command, args []string) {
fmt.Println("relay called")
conf, _ = rootCmd.Flags().GetString("conf")
if conf != "" {
fmt.Println("From Create Command : ", conf)
}
data, err := ioutil.ReadFile("file.txt") // data has type []byte
if err != nil {
log.Fatal(err)
}
var result []map[string]interface{}
json.Unmarshal(data, &result)
relays := result["relays"].(map[string]interface{})
for key, relay := range relays {
fmt.Println("name :", relay["name"],
"totalmem:", relay["totalmem"],
"relaymem:", relay["relaymem"])
}
},
但我收到如下错误,表明该类型无效
cmd/create_relay.go:54:29:无效类型断言:结果["relays"].(map[string])(左侧为非接口类型map[string]interface {})
有人可以让我知道如何使用下面的接口解析下面的 json
数组json字典去
qq_花开花谢_0
幕布斯7119047
相关分类