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 框架(如 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]