重复键有什么问题?

在常规 YAML 中允许重复键 - 如 pyyaml、ruamel.yaml 和 poyo 解析的那样

x: cow
y: dog
x: bull

不仅不清楚 x 应该为“cow”还是“bull”(解析器将决定为“bull”,但您知道吗?),如果 x: cow 和 x: bull 之间有 200 行,用户很可能更改第一个 x 并错误地认为 x 的结果值已更改 - 实际上没有更改。

为了避免所有可能的混淆,StrictYAML 将简单地拒绝解析它,并且只会接受所有键都唯一的关联数组。它将抛出 DuplicateKeysDisallowed 异常。