YAML - 字符流
在 YAML 中,您会遇到以下各种字符流 −
- 指令
- 文档边界标记
- 文档
- 完整流
在本章中,我们将详细讨论它们。
指令
指令是 YAML 处理器中使用的基本指令。指令是注释等表示细节,不会反映在序列化树中。在 YAML 中,无法定义私有指令。本节讨论各种类型的指令并附上相关示例 −
保留指令
保留指令用三个连字符 (---) 初始化,如下例所示。保留的指令被转换为 JSON 的特定值。
%YAML 1.1 --- !!str "foo"
YAML 指令
YAML 指令是默认指令。如果以 JSON 形式转换,则获取的值在前导和终止字符中包含正斜杠字符。
%YAML 1.1 --- !!str "foo"
文档边界标记
YAML 使用这些标记允许在一个流中包含多个文档。这些标记专门用于传达 YAML 文档的结构。请注意,以"---"开头的行用于开始新文档。
以下代码通过示例对此进行了说明 −
%YAML 1.1 --- !!str "foo" %YAML 1.1 --- !!str "bar" %YAML 1.1 --- !!str "baz"
文档
YAML 文档被视为以单个根节点呈现的单个本机数据结构。YAML 文档中的呈现细节(例如指令、注释、缩进和样式)不被视为其中包含的内容。
YAML 中使用了两种类型的文档。本节将对它们进行解释 −
显式文档
它以文档开始标记开始,然后是根节点的呈现。下面给出了 YAML 显式声明的示例 −
--- some: yaml ...
它包含一个显式的开始和结束标记,在给定的示例中为"---"和"…"。将指定的 YAML 转换为 JSON 格式后,我们得到如下所示的输出 −
{ "some": "yaml" }
隐式文档
这些文档不以文档开始标记开头。请观察下面给出的代码 −
fruits: - Apple - Orange - Pineapple - Mango
将这些值转换为 JSON 格式,我们得到输出作为一个简单的 JSON 对象,如下所示 −
{ "fruits": [ "Apple", "Orange", "Pineapple", "Mango" ] }
完整流
YAML 包含一个称为字符流的字节序列。该流以包含表示字符编码的字节顺序的前缀开始。完整流以包含字符编码的前缀开始,后跟注释。
下面显示了完整流(字符流)的示例 −
%YAML 1.1 --- !!str "Text content "