在YAML中,將瞭解如下各種字元流 -
- 指令
- 檔邊界標記
- 檔
- 完整流
在本章中,將詳細介紹和學習它們。
1. 指令
指令是YAML處理器中使用的基本指令。 指令是表示詳細資訊,如注釋,不會反映在序列化樹中。 在YAML中,無法定義私有指令。 本節討論各種類型的指令及相關示例 -
保留指令
保留指令初始化為三個連字元(---
),如下例所示。 保留的指令將轉換為JSON的特定值。
%YAML 1.1
--- !!str
"foo"
2. YAML指令
YAML指令是默認指令。 如果以JSON格式轉換,則fetched值包含首碼和終止字元中的正斜杠字元。
%YAML 1.1
---
!!str "foo"
3. 檔邊界標記
YAML使用這些標記允許在一個流中包含多個文檔。 這些標記專門用於傳達YAML文檔的結構。 請注意,以---
開頭的行用於啟動新文檔。
以下代碼通過示例解釋了這一點 -
%YAML 1.1
---
!!str "foo"
%YAML 1.1
---
!!str "bar"
%YAML 1.1
---
!!str "baz"
4. 檔
YAML文檔被視為單個本機數據結構,表示為單個根節點。 YAML文檔中的演示詳細資訊(如指令,注釋,縮進和樣式)不被視為其中包含的內容。
YAML中使用了兩種類型的文檔。 它們在本節中解釋 -
明確的檔
它從文檔開始標記開始,然後是根節點的表示。 YAML顯式聲明的示例如下 -
---
some: yaml
...
它包括一個明確的開始和結束標記,在給定的例子中是---
和......
。 在轉換JSON格式的指定YAML時,得到如下所示的輸出 -
{
"some": "yaml"
}
隱含檔
這些文檔不以文檔開頭標記開頭。 觀察下麵給出的代碼 -
fruits:
- Apple
- Orange
- Pineapple
- Mango
以JSON格式轉換這些值,將輸出作為一個簡單的JSON對象,如下所示 -
{
"fruits": [
"Apple",
"Orange",
"Pineapple",
"Mango"
]
}
5. 完整流
YAML包括一個稱為字元流的位元組序列。 該流以包含表示字元編碼的位元組順序的首碼開始。 完整流以包含字元編碼的首碼開頭,後跟注釋。
完整流(字元流)的示例如下所示 -
%YAML 1.1
---
!!str "Text content\n"