我正在寻找一个可以解析yaml文件的go脚本。我创建了一个测试yaml文件,其中包含以下内容:
Dog:
- name: "Dog"
- secrets:
username: "Shiba"
password: "inu"
color: "yellow"
Cat:
- name: "Cat"
- secrets:
words: "meow"
color: "black"
结构的映射在go中会是什么样的?
我已经尝试过:
package main
import (
"fmt"
"log"
"github.com/spf13/viper"
)
type Animal struct {
Animal []string
Name string
Secrets []map[string]string
}
func main() {
viper.SetConfigName("demo")
viper.AddConfigPath(".")
viper.SetConfigType("yaml")
err := viper.ReadInConfig()
if err != nil {
log.Fatal(err)
}
var animal Animal
err = viper.Unmarshal(&animal)
if err != nil {
log.Fatal(err)
}
fmt.Println(animal.Name)
}
但没有回复
非常感谢任何帮助
由于
答案 0 :(得分:0)
您应该遍历最上面的yml键[" Dog"," Cat"]然后将其放入结构中。如果你把它放在你的配置中它会输出动物的名字:
name: "Dog"