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]
广告