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