YAML字符流

Posted borter

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了YAML字符流相关的知识,希望对你有一定的参考价值。

在YAML中,将了解如下各种字符流 -

  • 指令
  • 文件边界标记
  • 文件
  • 完整流

在本章中,将详细介绍和学习它们。

1. 指令

指令是YAML处理器中使用的基本指令。 指令是表示详细信息,如注释,不会反映在序列化树中。 在YAML中,无法定义私有指令。 本节讨论各种类型的指令及相关示例 -

保留指令
保留指令初始化为三个连字符(---),如下例所示。 保留的指令将转换为JSON的特定值。

%YAML 1.1
--- !!str
"foo"
YAML

2. YAML指令

YAML指令是默认指令。 如果以JSON格式转换,则fetched值包含前缀和终止字符中的正斜杠字符。

%YAML 1.1
---
!!str "foo"
YAML

3. 文件边界标记

YAML使用这些标记允许在一个流中包含多个文档。 这些标记专门用于传达YAML文档的结构。 请注意,以---开头的行用于启动新文档。

以下代码通过示例解释了这一点 -

%YAML 1.1
---
!!str "foo"
%YAML 1.1
---
!!str "bar"
%YAML 1.1
---
!!str "baz"
YAML

4. 文件

YAML文档被视为单个本机数据结构,表示为单个根节点。 YAML文档中的演示详细信息(如指令,注释,缩进和样式)不被视为其中包含的内容。

YAML中使用了两种类型的文档。 它们在本节中解释 -

明确的文件
它从文档开始标记开始,然后是根节点的表示。 YAML显式声明的示例如下 -

---

some: yaml

...
YAML

它包括一个明确的开始和结束标记,在给定的例子中是---......。 在转换JSON格式的指定YAML时,得到如下所示的输出 -

{
   "some": "yaml"
}
YAML

隐含文件
这些文档不以文档开头标记开头。 观察下面给出的代码 -

fruits:
   - Apple
   - Orange
   - Pineapple
   - Mango
YAML

以JSON格式转换这些值,将输出作为一个简单的JSON对象,如下所示 -

{
   "fruits": [
      "Apple",
      "Orange",
      "Pineapple",
      "Mango"
   ]
}
JSON

5. 完整流

YAML包括一个称为字符流的字节序列。 该流以包含表示字符编码的字节顺序的前缀开始。 完整流以包含字符编码的前缀开头,后跟注释。

完整流(字符流)的示例如下所示 -

%YAML 1.1
---
!!str "Text content
"

以上是关于YAML字符流的主要内容,如果未能解决你的问题,请参考以下文章

YAML语法字符

如何转义 YAML 字符串中的冒号和其他特殊字符?

YAML数据转换

无法使用 yaml-cpp 发出空值

云原生时代的 YAML 教程

无法使用 cloudbuild.yaml 配置机密以部署到 cloudrun 以实现对话流 basicauth