我正在尝试将数据编组为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解组到模型中。DataCollectionFromYAML
答案 0 :(得分:1)
models.DataFromYAML
插入的使用[]models.DataFromYAML
的数组
包主
import (
"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}]