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終止。

保持
保持是指添加+扼流指示符的表示,創建的其他行不受摺疊。 附加線不會摺疊。