{
"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: неверное утверждение типа: результат ["реле"]. (Карта [строка]) (карта неинтерфейсного типа [строка] интерфейс {} слева)
Может кто-нибудь сообщить мне, как анализироватьJSON ниже с использованием интерфейсов, как показано ниже