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
终止。
保持
保持是指添加+
扼流指示符的表示,创建的其他行不受折叠。 附加线不会折叠。