YAML文件语法及示例

来源:这里教程网 时间:2026-03-02 12:20:37 作者:

 

一、 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: 语法比较多,大家当参考资料看吧,到时有更多用上了,我再补充  

相关推荐