通過下面的代碼,我可以從 Ansible 庫文件中獲取 yaml,結果如下:---dbtype: redisvsad: go0v當試圖取消封印YAML時,我只得到:map[string]string(nil)我的目標就是取消文件預檢,編輯數據,重新存儲文件。如何實現解封以便編輯數據?package mainimport ( "fmt" "github.com/sosedoff/ansible-vault-go" "gopkg.in/yaml.v2")type Props struct { values map[string]string}func main() { str, err := vault.DecryptFile("/tmp/tmpvlt", `.NunY4hb33zWx!)`) if err != nil { panic(err) } props := Props{} err2 := yaml.Unmarshal([]byte(str), &props) if err2 != nil { panic(err2) } fmt.Println(str) fmt.Printf("%#v\n",props.values)}
1 回答

海綿寶寶撒
TA貢獻1809條經驗 獲得超8個贊
您想執行任何操作
var props map[string]string
或
err2 := yaml.Unmarshal([]byte(str), &props.values)
在您當前的代碼中,取消封口程序無法訪問私有字段,即使您通過將其重命名為 來將其公開,也不會填充它,因為您的 YAML 沒有名為 的頂級鍵。values
Values
values
- 1 回答
- 0 關注
- 80 瀏覽
添加回答
舉報
0/150
提交
取消