YAML 字符流

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"

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程