首页 > 其他分享 >YAML文件语法及示例

YAML文件语法及示例

时间:2022-08-18 17:00:09浏览次数:53  
标签:表示 缩进 示例 语法 YAML 键值 使用

 

前言

时间就像海绵里的水,只要愿挤,总还是有的。——鲁迅

今天乌天黑地,就来了几点雨,上了一天课,嗓子不舒服了。来打打字,活跃活跃手。

 

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

 

标签:表示,缩进,示例,语法,YAML,键值,使用
From: https://www.cnblogs.com/xmxit/p/16599336.html

相关文章

  • gitlab 触发Jenkins简单示例
    //UsesDeclarativesyntaxtoruncommandsinsideacontainer.pipeline{agent{label"test"}post{failure{updateGitl......
  • 7、Python语法入门之流程控制
    7、Python语法入门之流程控制  目录:引子分支结构什么是分支结构为什么要用分支结构如何使用分支结构if语法if应用案例循环结构什么是循......
  • 3、Python语法入门之变量
    3、Python语法入门之变量  目录一引入二变量1、什么是变量?2、为什么要有变量?3、怎么使用变量(先定义、后调用)3.1变量的定义与使用3.2变......
  • 4、Python语法入门之基本数据类型
    4、Python语法入门之基本数据类型 目录一引子二数字类型2.1int整型2.1.1作用2.1.2定义2.2float浮点型2.2.1作用2.2.2定义2.3数字......
  • 5、Python语法入门之垃圾回收机制
    5、Python语法入门之垃圾回收机制  目录一引入二什么是垃圾回收机制?三为什么要用垃圾回收机制四垃圾回收机制原理分析4.1什么是引用计数?4.2......
  • 6、Python语法入门之与用户交互、运算符
    6、Python语法入门之与用户交互、运算符  目录一程序与用户交互1.1什么是与用户交互?1.2为什么要与用户交互?1.3如何与用户交互1.3.1输入inpu......
  • Java之基础语法
    最近发现公司中老的项目有些是基于Java开发的,为了更好的后期维护不得而要好好了解一下java,之前一直比较抵触这门语言,现在随着了解的语言(PHP,Python,golang,shell,no......
  • google gson解析json示例
    publicclassUser{//省略其它publicStringname;publicintage;publicStringemailAddress;......
  • pg_bulkload 数据加载使用及示例
    1.pg_bulkload概述1.1pg_bulkload介绍pg_bulkload是一种用于PostgreSQL的高速数据加载工具,相比copy命令。最大的优势就是速度。优势在让我们跳过sharedbuffer,walbu......
  • php语法
    判断是否为空if(!$cart_num||!$cart_info)return[]; 数组循环$compute_arr=['coupon_price','integral_price','postage_price','use_integral','one_......