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\n"