zl程序教程

您现在的位置是:首页 >  IT要闻

当前栏目

YAML语言格式介绍

2023-02-18 16:34:37 时间

YAML是一种格式,用来表示资料的序列

YAML语法:
  • 单一文件第一行,使用连续三个连字号"-" 开始

  • “#”号表示注释

  • 缩进统一,不能空格和tab混用

  • 键值对之间可以换行写也可以逗号隔开

  • 键值对之间需要加一个空格来隔开 比如: key: value

YAML的数据类型:
  • 标量:一个不可分割的最小值

  • 对象:键值对的集合,又可以叫做字典、影射等

  • 数组:一组按次序排列的值,又可以叫做序列或者列表

scalar 标量

标量可以是:字符串 布尔值 数值 Null 时间 日期

例如:key对应value

key: 99

age: 22

value是一个不可分割的最小值,这就是标量

注意:

  • yaml中的字符串加不加引号效果都是一样的

  • JSON中字符串必须加双引号

字典:也叫做对象,多个键值对的组合
  • 字典由多个key与value构成,value可以是标量,也可以是字典或者列表

  • key和value之间用 :分隔, 并且 : 后面有一个空格,

  • 所有k/v可以放在一行,或者每个 k/v 分别放在不同行

例如:key对应的value为对象时:

account: { name: wang, age: 30 }

或者
account:
  name: wang
  age: 18
列表:也可以叫做数组,由多个元素(k/v)组成
  • 每个元素放在不同行,且元素前均使用"-"打头,并且 - 后有一个空格

  • 放在同一行:用中括号括起来,多个元素逗号隔开

course: [ linux , golang , python ]

或者  横线开头 用空格隔开
course:
- linux
- golang
- python

列表中的数据可以是单一的标量,也可以是字段或者列表。
范例:yaml表示一个家庭
name: John Smith
age: 41
gender: Male
spouse: { name: Jane Smith, age: 37, gender: Female } # 写在一行里 spouse:配偶
children: [ {name: Jimmy Smith,age: 17, gender: Male}, {name: Jenny Smith, age: 13, gender: Female}, {name: hao Smith, age: 20, gender: Male } ]  #写在一行
 - {name: Jenny Smith, age: 13, gender: Female}
 - {name: hao Smith, age: 20, gender: Male }

或者:
name: John Smith
age: 41
gender: Male
spouse: spouse:配偶
  name: Jane Smith   #也可以写成多行
  age: 37
  gender: Female
children:
 - name: Jimmy Smith    #写在多行,更为推荐的写法
   age: 17
   gender: Male
 - {name: Jenny Smith, age: 13, gender: Female}
 - {name: hao Smith, age: 20, gender: Male }

总结:
字典:所有元素写在一行就需要用花括号括起来并使用逗号隔开,如果写在多行就只需要注意缩进
列表:所有元素写在一行需要用中括号括起来,并用逗号隔开,写在多行就需要在每一个元素的前面加短横线

三种常见的数据格式:
  • XML:可扩展标记语言,可用于数据交换和配置

  • JSON:对象表记法,主要用来数据存储和传输,不支持注释

  • YAML: 不是一种标记语言, 主要用来配置