我有以下 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"])
- 1 回答
- 0 关注
- 103 浏览
添加回答
举报
0/150
提交
取消