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

yaml 文件中的初始键是任意的,我如何在 Go 中读取它们?

yaml 文件中的初始键是任意的,我如何在 Go 中读取它们?

Go
莫回无 2023-05-15 15:46:27
我有以下 yaml 文件arbitratyKey:    things:       - value 1       - value 2canBeAnything:    things:       - value 1       - value 2asdasdasd:    things:       - value 1       - value 2当我不知道根密钥是什么时,如何选择密钥?我正在使用以下库 https://godoc.org/gopkg.in/yaml.v2#Unmarshal显然下面的代码是行不通的,但是我如何canBeAnything在不指定类型的情况下访问密钥呢?type T struct{}t := T{}yaml.Unmarshal([]byte(data), &t)fmt.Println(t.canBeAnything)
查看完整描述

1 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

在正常情况下,如果您正在解析某个文件,您会在解析它之前知道它的外观。因此,如果您知道文件的外观,请考虑Unmarshal使用定义文件形状的结构实例。


如果您不知道模式并且需要动态工作,Unmarshal请进入map[string]interface{}


t := make(map[string]interface{})

yaml.Unmarshal([]byte(data), &t)

fmt.Println(t["canBeAnything"])


查看完整回答
反对 回复 2023-05-15
  • 1 回答
  • 0 关注
  • 103 浏览
慕课专栏
更多

添加回答

举报

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