YAML檔案語法及示例

新夢想IT發表於2022-08-18


 

一、 YAML檔案是什麼

 

·  YAML是 "YAML Ain't a Markup Language"(YAML不是一種標記語言)的遞迴縮寫;

·  實際上 YAML還是一種標記語言,只不過是更加聚焦於資料的標記語言(上面是大佬們的文字遊戲);

·  YAML也是可以用來編寫配置檔案的語言,語法非常簡潔和強大;

·  自動化測試 框架中,常應用於自動化測試過程,用來進行資料驅動的資料儲存載體,如典型的 httprunner。(因為筆者是這個領域)

 

二、 YAML語法規則

·  大小寫敏感

·  使用縮排表示層級關係

·  不允許使用 TAB 鍵來縮排,只允許使用空格鍵來縮排

·  縮排的空格數量不重要

·  使用 "#"來表示註釋

其中規則中的 1、2、5有沒有覺得和python類似

 

三、 YAML檔案支援的資料格式

 

·  物件:鍵值對的集合,又稱為對映( mapping)/ 雜湊(hashes) / 字典(dictionary)

·  陣列:一組按次序排列的值,又稱為序列( sequence) / 列表(list)

·  純量( scalars):單個的、不可再分的值

 

四、 YAML檔案編寫示例

·  4.1 物件

 

name: 小王

age: 12

books:

    book1: 朝花夕拾

    book2: 吶喊

使用冒號(:)表示鍵值對,同一縮排的所有鍵值對屬於一個 map

 

·  4.2 陣列

     - A 

     - B 

     - C 

     - D 

     - E 

     - F

使用 (- ) 表示陣列,同一縮排的所有項屬於一個陣列

 

·  4.3 純量

name: 'xiaoli'

age: 22

weight: 57.30

isStudent: true

address: ~

time: 2001-12-14t21:59:43.10-05:00

date: 1976-07-31

 

根據以上純量的例子,由上往下,純量包含:字串 整數 浮點數 布林值 Null(用~表示) 時間 日期

其中:用~表示 null ; 時間、日期採用IS08601格式

 

·  4.4 物件巢狀陣列hobbys:

hobbys: 

     - 'climb mountains' 

     - sing 

     - dance

 

·  4.5 陣列巢狀物件

-

    id: 1 

    name: xiaowang 

-

    id: 2 

    name: xiaoli

 

五、 YAML檔案常用編寫語法整理

·  在一個 yml檔案中,使用 --- 來表示一段文件(或者一組配置)的開始,使用 ... 來表示一段文件的結束。如果yml中只有一組配置,則可以省略掉 ---

·  使用 - 來表示單個的列表項

·  使用 : 來表示鍵值對

·  ~ 表示null

·  使用 ! 和 !! 來做強制型別轉換

·  單引號會將字串裡面的特殊字元轉義為字串處理

·  雙引號不會跳脫字元串裡面的特殊字元,特殊字元作為本身想表示的意思

·  使用 |標註的文字內容縮排表示的塊,可以保留塊中已有的回車換行

·  使用 +表示保留文字塊末尾的換行

·  使用 -表示刪除字串末尾的換行

·  使用 > 標註的文字內容縮排表示的塊,會將塊中回車替換為空格,最終連線成一行

·  使用 true或false表示布林值

·  使用 & 定義資料錨點(即要複製的資料)

·  使用 * 引用錨點資料(即資料的複製目的地)

ps: 語法比較多,大家當參考資料看吧,到時有更多用上了,我再補充

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69940641/viewspace-2911037/,如需轉載,請註明出處,否則將追究法律責任。

相關文章