YAML包括两种块标量样式:字面和折叠。块标量由少量指标控制,标题在内容本身之前。 块标量头的示例如下 -
%YAML 1.2 --- !!seq [ !!str "literal\n", !!str "·folded\n", !!str "keep\n\n", !!str "·strip", ]
具有默认行为的JSON格式输出如下 -
[ "literal\n", "\u00b7folded\n", "keep\n\n", "\u00b7strip" ]
块样式有四种类型:文字样式,折叠样式,保持样式和条带样式。 这些块样式是在Block Chomping场景的帮助下定义的。Block Chomping场景的一个例子如下 -
%YAML 1.2 --- !!map { ? !!str "strip" : !!str "# text", ? !!str "clip" : !!str "# text\n", ? !!str "keep" : !!str "# text\n", }
可以在JSON中看到使用三种格式生成的输出,如下所示 -
{ "strip": "# text", "clip": "# text\n", "keep": "# text\n" }
YAML中的Chomping控制最终的中断和尾随空行,这些行以各种形式解释。
Stripping
在这种情况下,标量内容将排除最后的换行符和空行。 它由chomping指示符-
指定
剪裁
如果未指定显式的chomping指示符,则剪切被视为默认行为。 最终中断字符保留在标量的内容中。 剪切的最佳示例在上面的示例中演示。 它以换行符\n
终止。
保持
保持是指添加+
扼流指示符的表示,创建的其他行不受折叠。 附加线不会折叠。