假设我有一个带有对象数组的YML文件original.yml
array_in_yml:
- start: 1
- middle: 2
- end: 3
我将它包含在modified.yml
中!include "original.yml"
array_in_yml: []
我在加载modified.yml时期望这个数组为空,但它似乎有3个值为original.yml。如何强制/覆盖数组为空?
答案 0 :(得分:0)
关于!include
的讨论似乎与实际问题略有不同。我们假设以某种未知的方式将!include
行替换为original.yml
中的内容。我们会:
array_in_yml:
- start: 1
- middle: 2
- end: 3
array_in_yml: []
这不是有效的YAML,因为字典中的每个键都必须是唯一的,但是您使用键array_in_yml
两次。您的YAML处理器可能会忽略这一点,只需将第一个值(即三个项目的序列)分配给键array_in_yml
。
现在重要的部分: YAML无法修改先前给定的值。您不能覆盖之前给定的值。你想要做的是在YAML规范之外,你需要一些合并工具为你做这样的替换。