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

保持
保持是指新增+扼流指示符的表示,建立的其他行不受折疊。 附加線不會折疊。