我有以下 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 關注
- 135 瀏覽
添加回答
舉報
0/150
提交
取消