我正在尝试使用“gopkg.in/yaml.v3”包将 yaml 文件解析为 go。我无法解决的问题是解析以 - 开头的文件。例如:---- type: people info: - { name: John, last: Doe } ...所以当我尝试解析这个package mainimport ( "fmt" "io/ioutil" "log" "gopkg.in/yaml.v3")type YamlFile struct { type string `yaml:"type"`}func main() { d := YamlFile{} src, err := ioutil.ReadFile("test1.yaml") if err != nil { log.Println(err) } err = yaml.Unmarshal(src, &d) if err != nil { log.Printf("error: %v", err) } fmt.Println(d)}输出:error: yaml: unmarshal errors: line 2: cannot unmarshal !!seq into main.YamlFile当 - 从文件中删除时,上面的代码有效---type: peopleinfo: - { name: John, last: Doe }...但是我无法重新格式化文件,所以我需要知道我在尝试使用 - 进行解析时做错了什么。感谢您提供正确方向的任何指示。
- 1 回答
- 0 关注
- 186 浏览
添加回答
举报
0/150
提交
取消