YAML 块样式
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"
]
块样式的类型
有四种类型的块样式: literal,folded,keep 和 strip 样式。这些块样式是通过块咬合场景来定义的。下面是一个块咬合场景的示例:
%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
在这种情况下,作为标量内容,末尾的换行和空行被排除。它由「-」
指示符指定。
Clipping
如果没有指定明确的「Chomping」
指示符,将被视为默认行为。标量内容中保留了最后的换行字符。上面的示例中最佳示例是演示了「Clipping」
。它以换行符「\n」
字符结束。
Keeping
「Keeping」
指的是在表示中添加了「+」
的「Chomping」
指示符。创建的附加行不受折叠的影响。