YAML块样式

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"
]

块样式的类型

块样式有四种类型:文字样式,折叠样式,保持样式和条带样式。 这些块样式是在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终止。

保持
保持是指添加+扼流指示符的表示,创建的其他行不受折叠。 附加线不会折叠。