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框架中的symphony。
[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]