为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Go 保留 YAML 映射的顺序

使用 Go 保留 YAML 映射的顺序

Go
慕桂英546537 2021-11-22 15:24:33
我试图弄清楚如何在 Go 中读取 YAML 文件,同时保留 YAML 文档中的键顺序。我见过的大多数示例都涉及对键进行排序,但这在我的情况下不起作用。此外,YAML 是任意结构的(键是用户定义的,值是字符串和字符串列表的混合,也是用户定义的),这使事情变得复杂。go-yaml.v2 似乎做我想做的事(http://blog.labix.org/2014/09/22/annoucing-yaml-v2-for-go),但我找不到任何关于如何做的例子使用订购功能。这一点,加上对 Go 的全新认识,让我很困惑。如果需要,我很乐意提供我尝试解析的 YAML 示例。
查看完整描述

1 回答

?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

干得好:


var data = `

  a: Easy!

  b:

  c: 2

  d: [3, 4]

`

m := yaml.MapSlice{}

err := yaml.Unmarshal([]byte(data), &m)

if err != nil {

    log.Fatalf("error: %v", err)

}

fmt.Printf("--- m:\n%v\n\n", m)


查看完整回答
反对 回复 2021-11-22
  • 1 回答
  • 0 关注
  • 152 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信