在线Demo: http://nodeca.github.io/js-yaml
一. 语法规则
- 大小写敏感
- 符号加空格▲
- 用缩进表示层级
- 左对齐表示同级
- 禁止制表符
- 井号表示注释
- 减号表示序列符
- 冒号表示键值符
- 大于号折行
- 双叹号强制转换
- 特殊字符串必须用引号(布尔、数字、日期、null和空格)
二. 三种结构
- 对象: 键值对的集合,又称为映射(mapping)/哈希(hashes) /字典(dictionary)
- 数组: 一组按次序排列的值,又称为序列(sequence) /列表(list)
- 纯量(scalars): 单个的、不可再分的值
%YAML 1.2 #声明
--- #开始符
YAML:YAML Ain’t Markup Language
... #结束符
1. 对象
- 普通模式
name: Jack
age: 12
- 行内模式
{name: Jack,age: 12}
2.数组
- 一般模式
- Java
- Python
- C++
- 子数组
-
- Java
- Pathon
- Golang
# [ [ 'Java', 'Pathon', 'Golang' ] ]
- 行内模式
- [Java,Pathon,Golang]
# [ [ 'Java', 'Pathon', 'Golang' ] ]
3.纯量, 纯量是最基本的、不可再分的值
- 字符串:e: !!str 123
- 布尔值:用true和false表示
- 数值:以字面量形式表示,如:
number: 12.30
- Null:用~表示
- 时间:采用ISO8601格式,如:
iso8601: 2001-12-14t21:59:43.10-05:00
- 日期:采用iso8601格式,如:
date: 1976-07-31
参考:
http://www.ruanyifeng.com/blog/2016/07/yaml.html
http://www.mamicode.com/info-detail-1874111.html