YAML集合和结构

YAML集合和结构

YAML包括使用缩进范围的块集合。 在这里,每个条目都以一个新行开头。 集合中的块序列表示每个条目带有破折号和空格( - )。 在YAML中,块集合样式不由任何特定指示符表示。 YAML中的块集合可以与其他标量数量区分开来,并且包含其中包含的键值对的标识。

映射是JSON结构中包含的键值的表示。 它经常用于多语言支持系统以及在移动应用程序中创建API。 映射使用键值对表示以及冒号和空格(:)的使用。

示例

考虑一系列标量的例子,例如球员名单如下所示 -

- Mark Joseph
- James Stephen
- Ken Griffey

以下示例显示将标量映射到标量 -

hr: 87
avg: 0.298
rbi: 149

以下示例显示了将标量映射到序列 -

European:
- Boston Red Sox
- Detroit Tigers
- New York Yankees

national:
- New York Mets
- Chicago Cubs
- Atlanta Braves

集合可用于序列映射,如下所示 -

-
name: Mark Joseph
hr: 87
avg: 0.278
-
name: James Stephen
hr: 63
avg: 0.288

对于集合,YAML包含使用显式指示符的流样式,而不是使用缩进来表示空间。集合中的流序列以逗号分隔的列表形式写在方括号中。集合的最佳插图,包括在交响乐等PHP框架中。

[PHP, Perl, Python]

这些集合存储在文档中。YAML中文档的分隔用三个连字符或短划线(---)表示。 文档末尾标有三个点(...)。

YAML中的文档分隔用三个破折号(---)表示,文档的末尾用三个点(...)表示。

文件表示称为结构格式,如下所述 -

# Ranking of 1998 home runs
---
- Mark Joseph
- James Stephen
- Ken Griffey 

# Team ranking
---
- Chicago Cubs
- St Louis Cardinals

带有空格组合的问号表示结构中的复杂映射。 在块集合中,用户可以包括带有破折号,冒号和问号的结构。以下示例显示了序列之间的映射 -

- 2001-07-23
? [ New York Yankees,Atlanta Braves ]
: [ 2001-07-02, 2001-08-12, 2001-08-14]