什么是YAML?
2024-02-25
YAML是一个类似 XML、JSON 的标记性语言。它强调以数据为中心,并不是以标识语言为重点。因而YAML本身的定义比较简单,号称”一种人性化的数据格式语言”。常见于应用程序配置。
heima:
age: 15
address: Beijing
YAML的语法比较简单
语法格式:
- 大小写敏感
- 使用缩进表示层级关系
- 缩进不允许使用tab,只允许空格( 低版本限制 )
- 缩进的空格数不重要,只要相同层级的元素左对齐即可
- ‘#’表示注释
支持的数据类型:
- 纯量:单个的、不可再分的值
- 对象:键值对的集合,又称为映射(mapping)/ 哈希(hash) / 字典(dictionary)
- 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
YAML语言优点
- YAML易于人们阅读。
- YAML数据在编程语言之间是可移植的。
- YAML匹配敏捷语言的本机数据结构。
- YAML具有一致的模型来支持通用工具。
- YAML支持单程处理。
- YAML具有表现力和可扩展性。
- YAML易于实现和使用。
常用文本结构化语言
XML:是 “eXtensible Markup Language”(可扩展标记语言),是标记语言。使用广泛,从数据标准、数据交互,到程序交换。
JSON:是“JavaScript Object Notation“( JS 对象标记),一种轻量级的数据交换格式,与JS天然契合。发展于Web时代,是当下REST API的事实数据格式。
YAML:是 ‘YAML Aint Markup Language'(YAML不是一种标记语言)的缩写,本意在强调其以数据作为重心,而非标记语言。常见于程序配置。
Avro:以 JSON 格式存储数据定义,使其便于阅读和解释;数据本身以二进制格式存储,以达到紧凑且高效的目的。常用于大数据。
参考资料
YAML官方
YAML定义
YAML语言介绍,一文了解语法全貌
YAML vs JSON 5个方面的区别
JSON to YAML工具