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]