Arrays YAML将多个数组合并为一个数组

Arrays YAML将多个数组合并为一个数组,arrays,list,merge,yaml,Arrays,List,Merge,Yaml,我试图将数组/列表合并到一个大列表中,但总是缺少元素: commonFields: &commonFields - {label: title} - {label: url} extraFields: &extraFields - {label: blocks} - {label: hide} metaFields: &metaFields - {label: robots} - {label: description} fields: - <<: *c

我试图将数组/列表合并到一个大列表中,但总是缺少元素:

commonFields: &commonFields
- {label: title}
- {label: url}

extraFields: &extraFields
- {label: blocks}
- {label: hide}

metaFields: &metaFields
- {label: robots}
- {label: description}

fields:
- <<: *commonFields
- <<: *metaFields
- <<: *extraFields
commonFields:&commonFields
-{标签:标题}
-{label:url}
外部字段:&外部字段
-{标签:块}
-{标签:隐藏}
元字段:&元字段
-{标签:机器人}
-{标签:说明}
领域:
-是过时YAML 1.1的可选扩展。让我们讨论一下第一项中发生了什么:

- <<: *commonFields
然后,我们合并第二个映射。现在这条规则适用于:

如果与键关联的值是单个映射节点,则其每个键/值对都将插入到当前映射中,除非该键已存在于其中。

我们的映射已经有一个键标签,因此第二个映射的键值对
label:url
不会合并



你可能误解了什么
谢谢@flyx。我希望得到这个最简单的解决方案,但似乎我必须使用预处理,因为我无法控制yaml解析器。
- label: title
fields: !flatten
- *commonFields
- *metaFields
- *extraFields