Я пытаюсь демаршалировать следующий YAML с помощью Go YAML v3 .
model:
name: mymodel
default-children:
- payment
pipeline:
accumulator_v1:
by-type:
type: static
value: false
result-type:
type: static
value: 3
item_v1:
amount:
type: schema-path
value: amount
start-date:
type: schema-path
value: start-date
В конвейере находится произвольное количество заказанных элементов. Структура, в которую это должно быть неупорядочено, выглядит следующим образом:
type PipelineItemOption struct {
Type string
Value interface{}
}
type PipelineItem struct {
Options map[string]PipelineItemOption
}
type Model struct {
Name string
DefaultChildren []string `yaml:"default-children"`
Pipeline orderedmap[string]PipelineItem // "pseudo code"
}
Как это работает с Golang YAML v3? В v2 был MapSlice, но его больше нет в v3.