我创建了以下YAML文件,以提供用户需要提供的一些配置:
Environments:
sys1:
models:
- app-type: app1
service-type: “fds"
- app-type: app2
service-type: “era”
sys2:
models:
- app-type: app1
service-type: “fds"
- app-type: app2
service-type: “era"
https://codebeautify.org/yaml-validator/cbb349ec
我在这里:
一个环境(根)
环境包含1..n sys
每个都sys
包含具有关键应用程序类型的1..n模型实例
现在,我需要解析此YAML文件,因此我尝试构建类似以下的结构类型:
type Environment struct {
Environment [] sys
}
type sys struct{
Models []Properties
}
type Models struct{
app-type string `yaml:"app-type"`
service-type string `yaml:"service-type"`
}
现在,我尝试解析此YAML,但出现索引超出范围的错误。
我的问题是:
1. Do I model the YAML correctly?
2. Do I model the struct correctly?
这是代码:
func main() {
y := Environments{}
err := yaml.Unmarshal([]byte(data), &y)
if err != nil {
log.Fatalf("error: %v", err)
}
fmt.Printf("%+v\n", y)
}
数据才是yaml.file。
相关分类