为了账号安全,请及时绑定邮箱和手机立即绑定

无法使用 gopkg.in/yaml.v2 解组具有缩进或空值的 yaml 文件

无法使用 gopkg.in/yaml.v2 解组具有缩进或空值的 yaml 文件

Go
湖上湖 2023-06-19 15:28:21
我有以下 YML 文件test.ymluser_name:Agent1org_info:  first:hello  second:world我尝试test.yml使用以下 golang 代码解组package mainimport (  "log"  "io/ioutil"  "gopkg.in/yaml.v2")func main() {  content, _ := ioutil.ReadFile("./test.yml")  var t interface{}  yaml.Unmarshal(content, &t)  log.Println(t)}但是log.Println(t)给出了nil。我将test.yml文件缩减为:user_name:Agent1org_info:但log.Println(t)仍然给nil。我如何使用 golang 解组具有不可预测模式的 yaml 文件,其中的字段没有值或导致嵌套和缩进子字段的字段?或者我应该使用另一个 golang yaml 解析器吗?
查看完整描述

1 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

yaml.Unmarshal()返回错误:


yaml:第 2 行:此上下文中不允许映射值


永远不要跳过错误检查:


var t interface{}

err = yaml.Unmarshal(content, &t)

if err != nil {

    log.Fatal(err)

}

在冒号后添加缺失的空格,使它们成为 YAML 值指示符:


user_name: Agent1

org_info:

  first: hello

  second: world


查看完整回答
反对 回复 2023-06-19
  • 1 回答
  • 0 关注
  • 169 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信