YAML流式样 YAML 块标量头 YAML 块样式 YAML流式样 YAML中的流样式可以被认为是JSON的自然扩展,以覆盖折叠内容行以获得更好的可读特征,该特征使用锚点和别名来创建对象实例。在本章中,我们将重点关注以下概念的流程表示 别名节点 空节点 Flow Scalar样式 流程集合样式 流节点 别名节点的示例如下所示 %YAML 1.2 --- !!map { ? !!str "First occurrence" : &A !!str "Foo", ? !!str "Override anchor" : &B !!str "Bar", ? !!str "Second occurrence" : *A, ? !!str "Reuse anchor" : *B, } 上面给出的代码的JSON输出如下 { "First occurrence": "Foo", "Second occurrence": "Foo", "Override anchor": "Bar", "Reuse anchor": "Bar" } 具有空内容的节点被视为空节点。以下示例显示了这一点 %YAML 1.2 --- !!map { ? !!str "foo" : !!str "", ? !!str "" : !!str "bar", } JSON中空节点的输出如下所示 { "": "bar", "foo": "" } 流标量样式包括双引号,单引号和普通类型。下面给出了相同的基本例子 %YAML 1.2 --- !!map { ? !!str "implicit block key" : !!seq [ !!map { ? !!str "implicit flow key" : !!str "value", } ] } 上面给出的示例的JSON格式输出如下所示 { "implicit block key": [ { "implicit flow key": "value" } ] } YAML中的流集合与另一个流集合中的块集合嵌套。流集合条目以 逗号 ( , )指示符终止。以下示例详细说明了流量收集块 %YAML 1.2 --- !!seq [ !!seq [ !!str "one", !!str "two", ], !!seq [ !!str "three", !!str "four", ], ] JSON中的流集合输出如下所示 [ [ "one", "two" ], [ "three", "four" ] ] 像JSON这样的流样式包括开始和结束指示符。唯一没有任何属性的流样式是普通标量。 %YAML 1.2 --- !!seq [ !!seq [ !!str "a", !!str "b" ], !!map { ? !!str "a" : !!str "b" }, !!str "a", !!str "b", !!str "c",] 上面以JSON格式显示的代码输出如下 [ [ "a", "b" ], { "a": "b" }, "a", "b", "c" ] YAML 块标量头 YAML 块样式