YAML 是一种可读性高,以数据为中心的数据序列化格式。可以表达 对象(键值对),数组,标量 这几种数据形式 能够被多种编程语言和脚本语言解析。
什么是序列化?
序列化指的是将自定义的对象或者其他数据进行持久化,从而方便进行传输和存储。一般情况下,能够序列化的数据一定能够通过反序列化恢复。
对象和键值对
通过 k: v 的方式表示对象或者键值对,冒号后必须要加一个空格:
Name: Astron Sex: female School: TJU
通过缩进来表示对象的多个属性:
People: Name: Astron Sex: female School: TJU
也可以写成
people: {name: Astron, sex: female}
数组
数组(或者列表)中的元素采用 - 表示,以 - 开头的行表示构成一个数组
eg1:
- A - B - C
eg2:
people: - yyy - zzz - www
行内表示:
people: [yyy, zzz, www]
eg3: 对象数组
people: - name: yyy age: 18 - name: zzz age: 19
使用流式表示:
people: [{name: yyy, age: 18},{name: zzz, age: 19}]
标量
标量是最基本的不可再分的值,包括:
eg:
boolean: - true # 大小写都可以 - false float: - 3.14 - 3.25e+5 # 科学计数法 int: 12 null: nodeName: name string: 123 date: 2020-01-01 # 格式为 yyyy-MM-dd datetime: 2020-01-10T15:02:08+08:00 # 日期和时间使用T连接,+表示时区
引用
& 用于建立锚点,* 用于引用锚点,<< 表示合并到当前数据
eg1:
defaults: &defaults adapter: ppp host: qqq development: database: mq <<: *defaults
相当于:
defaults: adapter: ppp host: qqq development: database: mq adapter: ppp host: qqq
eg2:
- &showell steve - clark - eve - *showell
相当于:
- steve - clark - eve - steve
脚本语言
YAML 实现简单,解析成本低,所以特别适合在脚本语言中使用
序列化
配置文件
写 YAML 比 XML 方便,所以 YAML 也可以用来做配置文件,但是,不同语言间的数据流转不建议使用YAML。
联系人:徐经理
手机:13907330718
电话:0731-22222718
邮箱:hniatcom@163.com
地址: 湖南省株洲市石峰区联诚路79号轨道智谷2号倒班房6楼603室