YAML字符流
在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"