YAML在线验证
YAML的意思是:YAML Ain’t a Markup Language(YAML不是一种标记语言),主要用于编辑数据结构和各种配置文件,文件后缀为: .yaml
1.基本语法
yaml语法特点:
- 大小写敏感
- 使用
缩进标识层级关系
- 缩进
不允许使用tab键
,只允许空格
- 缩进的空格数不重要,只要
相同层级的元素左对齐
即可 #
注释
2.YAML支持的数据结构
- 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
- 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
- 纯量(scalars):单个的、不可再分的值
2.1 对象
写法1:对象键值对使用冒号结构标识key: value,注意,冒号后面要加一个空格
key: value
写法2:使用key: {key1: value1,key2: value2}
key: {key1: value1,key2: value2}
写法3:使用缩进标识层级关系
key:
key1: value1
key2: value2
2.2数组
以- 开头的行表示构成一个数组
compaines:
- A
- B
- C
数组也可以采用行内表示法
compaines: [A,B,C]
2.3 复合结构
数组和对象可以构成符合结构
languages:
- Ruby
- Perl
- Python
websites:
YAML: yaml.org
Ruby: ruby-lang.org
Python: python.org
Perl: use.perl.org
2.4 纯量
纯量是最基本的、不可再分的值。以下数据类型都属于纯量
1 字符串 布尔值 整数 浮点数 Null
2 时间日期
数值直接以字面量的形式表示
number: 12.30
布尔值用true和false表示
isSet: true
null用 ~ 表示
parent: ~
YAML 允许使用两个感叹号,强制转换数据类型
e: !!str 123
f: !!str true
&用来标识锚点(defaults),<<表示合并到当前数据,* 用来引用锚点
database1: &default
port: 3306
username: zhangsan
password: 11111
database2: &default
port: 3307
<<: *default
database3: &default
port: 3308
<<: *default
参考:
https://www.bilibili.com/video/BV17U4y1w79Z