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教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程