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]