kay*_*kay 3 hash merge yaml key
即有没有办法转换这个例子:
myhash:
- name: name1
value: value1
myhash:
- name: name2
value: value2
Run Code Online (Sandbox Code Playgroud)
进入:
myhash:
- name: name1
value: value1
- name: name2
value: value2
Run Code Online (Sandbox Code Playgroud)
一旦我注意到默认情况下 YAML 将其转换为:
myhash:
- name: name2
value: value2
Run Code Online (Sandbox Code Playgroud)
在 YAML 1.2 规范中声明“映射 -唯一键到值的无序关联”(强调我的)。您的键不是唯一的,因此会发生什么取决于库实现(抛出错误,忽略其中一个键)。
您的解析器显然做的是丢弃第一个键/值对。使用 YAML 解析器加载第一个示例无法完成您想要执行的操作。您当然可以编写一个实用程序来拆分不使用 YAML 解析器的文本。
请注意,在 YAML 1.1 中:
两个相等的键出现在同一个映射节点是错误的。在这种情况下,YAML 处理器可能会继续,忽略第二个 key: value 对并发出适当的警告。
例如,这不是 YAML 1.1 解析器 PyYAML 的工作方式:它不会忽略第二个(或后续)键的值,也不会发出警告。
| 归档时间: |
|
| 查看次数: |
2478 次 |
| 最近记录: |