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

使用键解析 yaml 提供错误

使用键解析 yaml 提供错误

Go
慕仙森 2023-06-12 16:12:55
我有以下需要解析的 yaml,我尝试了以下内容Build-t:  before: test1    - value : dddd        -  bbb: zzzz  after: test2     - value: bbb        - aaa: aaaa我试过以下内容:type root struct{ build type Build `yaml:"Build-t,omitempty"`} type Build struct {    Before map[string]interface{} `yaml:"before,omitempty"`    After map[string]interface{} `yaml:"after,omitempty"` }现在当我解析它时出现错误,我需要的是从对象中获取值before,after这些值是 yaml 中的硬编码值,它下面的所有其他值都是动态添加的,因此我把它作为interface顺便说一句,如果我将根更改为此它的工作,我会看到下面的所有字段,Build-t但它们before and after就像键一样......type root struct{ build type map[string]interface{} `yaml:"Build-t,omitempty"`} 错误是:line 6: cannot unmarshal !!str `test1` into map[string]interface {}        line 7: cannot unmarshal !!str `test2` into map[string]interface {}在此处查看有效的 yaml https://codebeautify.org/yaml-validator/cb705458
查看完整描述

1 回答

?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

听起来不错——YAML 无效。你的意思是这样的吗?


Build-t:

 before:

   test1:

     - value: dddd

     - bbb: zzzz


 after:

   test2:

     - value: bbb

     - aaa: aaaa

请记住,空格很重要,它是一个键值结构——所以你的值可以是字符串,也可以是子结构——不能两者都是。


另外,那个 yaml 验证器......我似乎无法让它声明任何东西无效!


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

添加回答

举报

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