我有以下 yaml 文件arbitratyKey: things: - value 1 - value 2canBeAnything: things: - value 1 - value 2asdasdasd: things: - value 1 - value 2當(dāng)我不知道根密鑰是什么時(shí),如何選擇密鑰?我正在使用以下庫 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貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個(gè)贊
在正常情況下,如果您正在解析某個(gè)文件,您會(huì)在解析它之前知道它的外觀。因此,如果您知道文件的外觀,請(qǐng)考慮Unmarshal使用定義文件形狀的結(jié)構(gòu)實(shí)例。
如果您不知道模式并且需要?jiǎng)討B(tài)工作,Unmarshal請(qǐng)進(jìn)入map[string]interface{}
t := make(map[string]interface{})
yaml.Unmarshal([]byte(data), &t)
fmt.Println(t["canBeAnything"])
- 1 回答
- 0 關(guān)注
- 141 瀏覽
添加回答
舉報(bào)
0/150
提交
取消