流式 YAML 有什么问题?
流式样式本质上是嵌入在 YAML 中的 JSON - 使用大括号 { } 和方括号来表示列表和映射。
示例
a: 1
b: {c: 3, d: 4}
这种对 JSON 式 { 和 } 的使用也很丑陋,会损害可读性 - 尤其 当 { 和 } 用于其他目的(例如模板化)时,YAML 的人类读者/编写者必须绞尽脑汁才能弄清楚它是什么类型 的大括号。
pyyaml 的 FAQ 中的第一个问题实际上微妙地表明,此功能不是一个好主意 - 请参阅“为什么我的 YAML 看起来不对?”。
举一个现实生活中的例子,在 这个 saltstack YAML 定义 中使用流式样式,模糊了流式样式和 jinja2 之间的区别,使读者感到困惑。
使用流式样式解析“脏”YAML
要解析具有流式样式的 YAML,你可以使用 脏加载。