gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 01:56:16 25 4
gpt4 key购买 nike

我有以下名为 test.yml

的 YML 文件
user_name:Agent1
org_info:
first:hello
second:world

我尝试使用以下 golang 代码解码 test.yml

package main

import (
"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:Agent1
org_info:

但是 log.Println(t) 仍然给出 nil

我如何使用 golang 解码具有不可预测架构的 yaml 文件,其中包含没有值的字段或导致嵌套和缩进子字段的字段?

或者我应该使用另一个 golang yaml 解析器吗?

最佳答案

yaml.Unmarshal() 返回错误:

yaml: line 2: mapping values are not allowed in this context

从不跳过错误检查:

var t interface{}
err = yaml.Unmarshal(content, &t)
if err != nil {
log.Fatal(err)
}

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

user_name: Agent1
org_info:
first: hello
second: world

关于go - 无法使用 gopkg.in/yaml.v2 解码具有缩进或空值的 yaml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56185034/

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