我有以下需要解析的 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 验证器......我似乎无法让它声明任何东西无效!
- 1 回答
- 0 关注
- 203 浏览
添加回答
举报
0/150
提交
取消