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]