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]