使用结构解析YAML

我创建了以下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. 一个环境(根)

  2. 环境包含1..n sys

  3. 每个都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。


繁星coding
浏览 265回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go