无法将 yaml 文件解组到结构中

我正在尝试 UnmarshalS 到 DataCollectionFromYAML


--- 

  labels: cats, cute, funny

  name: "funny cats"

  url: "http://glorf.com/videos/asfds.com"

  labels: cats, ugly,funny

  name: "more cats"

  url: "http://glorf.com/videos/asdfds.com"

  labels: dogs, cute, funny

  name: "lots of dogs"

  url: "http://glorf.com/videos/asasddfds.com"

  name: "bird dance"

  url: "http://glorf.com/videos/q34343.com"


type DataFromYAML struct {

    Labels string `yaml:"labels"`

    Name   string `yaml:"name"`

    URL    string `yaml:"url"`

}


type DataCollectionFromYAML struct {

    data []VidedFromYAML

}

这是我的代码的一部分,我正在使用 gopkg.in/yaml.v2 包


yamlFile, err := ioutil.ReadAll(r)

    if err != nil {

        return err

    }

    var data models.DataFromYAML


    err2 := yaml.Unmarshal(yamlFile, data)



我收到错误消息:无法将 !!seq 解组到 models.DataCollectionFromYAML


波斯汪
浏览 73回答 1
1回答

三国纷争

安装了 包 mainmodels.DataFromYAML的 use 数组[]models.DataFromYAMLimport (    "fmt"    "github.com/ghodss/yaml")const data = `--- -   labels: cats, cute, funny  name: "funny cats"  url: "http://glorf.com/videos/asfds.com"-   labels: cats, ugly,funny  name: "more cats"  url: "http://glorf.com/videos/asdfds.com"-   labels: dogs, cute, funny  name: "lots of dogs"  url: "http://glorf.com/videos/asasddfds.com"-   name: "bird dance"  url: "http://glorf.com/videos/q34343.com"`type DataFromYAML struct {    Labels string `yaml:"labels"`    Name   string `yaml:"name"`    URL    string `yaml:"url"`}func main() {    var test []DataFromYAML    err := yaml.Unmarshal([]byte(data), &test)    if err != nil {        fmt.Printf("err: %v\n", err)        return    }    fmt.Println(test)}输出:[{cats, cute, funny funny cats http://glorf.com/videos/asfds.com} {cats, ugly,funny more cats http://glorf.com/videos/asdfds.com} {dogs, cute, funny lots of dogs http://glorf.com/videos/asasddfds.com} { bird dance http://glorf.com/videos/q34343.com}]
打开App,查看更多内容
随时随地看视频慕课网APP