欢迎光临~湖南智能应用科技有限公司-hniat.com
语言选择: 中文版 ∷  英文版

基础知识

两分钟带你了解YAML(.yml后缀文件)

YAML 是什么?

YAML 是一种可读性高,以数据为中心的数据序列化格式。可以表达 对象(键值对)数组标量 这几种数据形式 能够被多种编程语言和脚本语言解析。

什么是序列化
序列化指的是将自定义的对象或者其他数据进行持久化,从而方便进行传输和存储。一般情况下,能够序列化的数据一定能够通过反序列化恢复。

YAML 语法与格式

基本语法

  • 以 k: v 的形式来表示键值对的关系,冒号后面必须有一个空格
  • # 表示注释
  • 对大小写敏感
  • 通过缩进来表示层级关系,缩排中空格的数目不重要,只要相同阶层的元素左侧对齐就可以了
  • 缩进只能使用空格,不能使用 tab 缩进键
  • 字符串可以不用双引号

格式

对象和键值对

通过 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}]


标量

标量是最基本的不可再分的值,包括:

  • 整数
  • 浮点数
  • 字符串
  • 布尔值
  • Null
  • 时间
  • 日期

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室

关闭
用手机扫描二维码关闭
二维码