gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 03:32:27 27 4
gpt4 key购买 nike

我有以下yaml文件

arbitratyKey:
things:
- value 1
- value 2

canBeAnything:
things:
- value 1
- value 2

asdasdasd:
things:
- value 1
- value 2

当我无法知道根 key 是什么时,如何选择 key ?

我正在使用以下库 https://godoc.org/gopkg.in/yaml.v2#Unmarshal

显然下面的代码不起作用,但我如何在不指定类型的情况下访问 canBeAnything 键?

type T struct{}

t := T{}
yaml.Unmarshal([]byte(data), &t)
fmt.Println(t.canBeAnything)

最佳答案

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

如果您不知道架构并且需要动态工作,Unmarshalmap[string]interface{}

t := make(map[string]interface{})
yaml.Unmarshal([]byte(data), &t)
fmt.Println(t["canBeAnything"])

关于go - yaml 文件中的初始键是任意的,我如何在 Go 中读取它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53816028/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com