YAML 流式样式

YAML 流式样式

YAML中的流式样式可以被视为JSON的自然延伸,用于覆盖折叠内容行,以提供更好可读的特性,它使用锚点和别名来创建对象实例。在本章中,我们将重点讨论以下概念的流式表示方式−

  • 别名节点
  • 空节点
  • 流式标量样式
  • 流式集合样式
  • 流式节点

别名节点的示例如下−

%YAML 1.2
---
!!map {
   ? !!str "First occurrence"
   : &A !!str "Foo",
   ? !!str "Override anchor"
   : &B !!str "Bar",
   ? !!str "Second occurrence"
   : *A,
   ? !!str "Reuse anchor"
   : *B,
}

上述代码的JSON输出如下所示:

{
   "First occurrence": "Foo", 
   "Second occurrence": "Foo", 
   "Override anchor": "Bar", 
   "Reuse anchor": "Bar"
}

具有空内容的节点被视为空节点。以下示例显示了这一点。

%YAML 1.2
---
!!map {
   ? !!str "foo" : !!str "",
   ? !!str "" : !!str "bar",
}

在JSON中,空节点的输出表示如下:

{
   "": "bar", 
   "foo": ""
}

流量标量样式包括双引号、单引号和普通类型。下面是相同的基本示例−

%YAML 1.2
---
!!map {
   ? !!str "implicit block key"
   : !!seq [
      !!map {
         ? !!str "implicit flow key"
         : !!str "value",
      }
   ]  
}

上面的示例以JSON格式的输出如下所示:

{
   "implicit block key": [
      {
         "implicit flow key": "value"
      }
   ] 
}

YAML中的流式集合是嵌套在另一个流式集合内部的块集合。流式集合条目以逗号( , )标志终止。以下示例详细说明了流式集合块的使用:

%YAML 1.2
---
!!seq [
   !!seq [
      !!str "one",
      !!str "two",
   ],

   !!seq [
      !!str "three",
      !!str "four",
   ],
]

在JSON中,流式集合的输出如下所示 —

[
   [
      "one", 
      "two"
   ], 
   [
      "three", 
      "four"
   ]
]

流样式(如JSON)包括起始和结束指示符。唯一没有任何属性的流样式是纯量标量。

%YAML 1.2
---
!!seq [
!!seq [ !!str "a", !!str "b" ],
!!map { ? !!str "a" : !!str "b" },
!!str "a",
!!str "b",
!!str "c",]

上述代码的JSON格式输出如下:

[
   [
      "a", 
      "b"
   ], 

   {
      "a": "b"
   }, 

   "a", 
   "b", 
   "c"
]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程