.yml文件格式


http://yaml.org/

YAML: YAML Ain't Markup Language What It Is: YAML is a human friendly data serialization standard for all programming languages.


YAML(Yet Another Markup Language)(發音 /ˈjæməl/ )
 一種基於Unicode容易閱讀,容易和腳本語言交互的,用來表達資料序列的編程語言。

 

適應場景

  1. 腳本語言:由於實現簡單,解析成本很低,YAML 特別適合在腳本語言中使用
  2. 序列化: YAML是由宿主語言數據類型直轉,的比較適合做序列化。
  3. 配置文件:寫 YAML 要比寫 XML 快得多(無需關注標簽或引號),並且比 INI 文檔功能更強。由於兼容性問題,不同語言間的數據流轉建議不要用 YAML。

YAML 語法

  1. 使用空格 Space 縮進表示分層,不同層次之間的縮進可以使用不同的空格數目,但是同層元素一定左對齊,即前面空格數目相同(不能使用 Tab,各個系統 Tab對應的 Space 數目可能不同,導致層次混亂)
  2. ‘#’表示注釋,只能單行注釋,從#開始處到行尾
  3. 破折號后面跟一個空格(a dash and space)表示列表
  4. 冒號和空格表示鍵值對 key: value
  5. 簡單數據(scalars,標量數據)可以不使用引號括起來,包括字符串數據。用單引號或者雙引號括起來的被當作字符串數據,在單引號或雙引號中使用C風格的轉義字符
 
  • 大小寫敏感
  • 使用縮進表示層級關系
  • 縮進時不允許使用Tab鍵,只允許使用空格。
  • 縮進的空格數目不重要,只要相同層級的元素左側對齊即可

 

本文介紹 YAML 的語法,以 JS-YAML 的實現為例。你可以去在線 Demo 驗證下面的例子。

YAML 支持的數據結構有三種。

  • 對象:鍵值對的集合,又稱為映射(mapping)/ 哈希(hashes) / 字典(dictionary)
  • 數組:一組按次序排列的值,又稱為序列(sequence) / 列表(list)
  • 純量(scalars):單個的、不可再分的值

以下分別介紹這三種數據結構。

三、數組

一組連詞線開頭的行,構成一個數組。


- Cat - Dog - Goldfish 

轉為 JavaScript 如下。


[ 'Cat', 'Dog', 'Goldfish' ] 

數據結構的子成員是一個數組,則可以在該項下面縮進一個空格。


- - Cat - Dog - Goldfish 

轉為 JavaScript 如下。


[ [ 'Cat', 'Dog', 'Goldfish' ] ] 

數組也可以采用行內表示法。


animal: [Cat, Dog] 

轉為 JavaScript 如下。


{ animal: [ 'Cat', 'Dog' ] }

 

 

Mapping Scalars to Sequences 簡單數據列表鍵值對

american:
- Boston Red Sox
- Detroit Tigers
- New York Yankees
national:
- New York Mets
- Chicago Cubs
- Atlanta Braves

 

 

 

 

 

 

 





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM