У меня следующий 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