缘由
最近学习新知识需要使用YAML,那就来学习一下吧。
介绍
YAML这种语言常被使用以数据做为中心,标记语言并非重点 。
语法
数据类型
YAML 支持以下几种数据类型:
- 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
- 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
- 纯量(scalars):单个的、不可再分的值
对象数组解析例子
YAML支持对象数组,接下来直接举个例子:
图书:
# 注释
IT技术:
前端:
JavaScript :
- 红宝书
- 犀牛书
- 你不知道的JavaScript
HTML :
- what wg
CSS :
- w3.org
后端:
? Java
? Spring
? MySql
# 注释
文学: { 西游记, 水浒传, 三国演义 }
转换为JSON为:
{
"图书": {
"IT技术": {
"前端": {
"JavaScript": ["红宝书","犀牛书","你不知道的JavaScript"],
"HTML": ["what wg"],
"CSS": ["w3.org"]
},
"后端": {
"Java": null,
"Spring": null,
"MySql": null
}
}
},
"文学": {
"西游记": null,
"水浒传": null,
"三国演义": null
}
}
其中有的情况不能用JSON表示,因为YAML的key可以是对象或者数组的复合结构
?
- 朋友
- 同事
:
- 小明
- 小张
- 小李
key是[“朋友”,”同事”] value是[“小明”,”小张”,”小李”]
?
关系:
- 朋友
- 同事
:
- 小明
- 小张
- 小李
key是{“关系”: [“朋友”,”同事”]} value是[“小明”,”小张”,”小李”]
资料
解析地址:https://astexplorer.net/
参考地址:https://www.runoob.com/w3cnote/yaml-intro.html
注意
这里举的例子不能覆盖所有,遇到yml文件后最好去https://astexplorer.net/解析看一下AST就知道是什么意思了。