关于YAML的相关基础语法简介

it2026-06-09  1

YAML简介

Yet Another Markuo Language仍是一种标记语言

它实质上是一种通用的数据串行话格式

一 基本语法规则

大小写敏感使用缩进表示层级关系缩进不允许使用tab,只允许使用空格缩进的空格数目不重要,只要相同层级的原色左侧对齐即可#表示注释,从这个字符一直到行尾,都会被解析器忽略

二 支持的数据结构三种

对象:键值对的集合,又称映射(mapping)/哈希(hashes)/字典(dictionary)数组:一组按次序排列的值,又称为序列(sequence)/列表(list)纯量:单个的、不可再分的值

三 YAML对象

对象的一组键值对,使用冒号结构表示

animal: pets

转到JavaScript如下:

{animal: ‘pets’}

也可以使用另一种写法

key:{key1:value1,key2:value2,key3:value3}

转为JavaScript如下:

{key: {key1: ‘value1’,key2: ‘value2’}}

四 数组

以 - (连线词)开头的行,构成一个数组:

-A

-B

-C

转为JavaScript如下

[‘A’,‘B’,‘C’]

数据结构的子成员是一个数组,则可以在该项下面缩进一个空格

-A

-B

-C

转为JavaScript如下:

[[‘A’,‘B’,‘C’]]

一个相对复杂的例子:

companies: - id: 1 name: company1 price: 200W - id: 2 name: company2 price: 500W

意思是companies是一个数组,每一个数组元素 又是由id,name,price三个属性构成\

companies: [{id: 1,name: company1,price: 200w},{id: 2,name: company2,price: 500w}]

复合结构

对象和数组可以组合使用,形成复合结构:

letter: -A -B -c website: YAML: yaml.org Ruby: ruby-lang.org Python: python.org Prrl: use.perl.org

转换为json格式为:

{ letter: [‘A’,‘B’,‘C’],

websites{

YAML: yaml.org Ruby: ruby-lang.org Python: python.org Prrl: use.perl.org

}

}

五 纯量

纯量是最基本的,不可再分的值,包括:

字符串布尔值整数浮点数Null时间日期

数值直接以字面量的形式表示

number: 12.30

布尔值用true和false表示 isSet: truenull用~表示 parent:~日期必须使用ISO 8601格式:即yyyy-MM-dd 时间必须使用 ISO8601格式:时间和日期直接用T/t连接,最后使用+代表时区 date: 2020-10-22 datetime: 2020-10-22T14:24:35 + 08:00
最新回复(0)