yaml文件格式说明
- yaml简介
- 基本语法
- YAML支持的数据结构
- 引用
- 单文件多配置
- 文本块
- 显示指定类型
yaml简介
yaml文件的后缀为.yml或者.yaml。
是一个可读性高,用来表达数据序列的格式。YAML的意思是:仍是一种标记语言,但为了强调这种语言以数据为中心,而不是以标记语言为重点。
基本语法
- 大小写敏感
- 使用缩进表示层级关系
- 缩进时不允许使用tab键,只允许使用空格
- 缩进的空格数目不重要,只要相同层级的元素左右对齐即可
#表示注释,从这个字符一直到行尾,都会被解释器忽略- 锚点
&:标注一个内容,锚点名称自定义- 引用
*:使用被标注的内容<<:*锚点名- 在yaml里,用
on、1、true来表示true,用off、0、false来表示false- yaml中,空值可以用
null或者~来表示。
YAML支持的数据结构
- 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes)/ 字典(dictionary)
eg:
对象的一组键值对,使用冒号结构表示
name:Tom
age: 12
eg:
yaml也允许另一种写法,将所有键值对写成一个行内对象
hash: {
name: Tom
age: 12
}- 数组:一组按次序排列的值,又称为序列(sequence)/ 列表(list)
eg:
一组连词线开头的行,构成一个数组
animal
- Cat
- Dog
eg:
数组也可以采用行内表示法
animal: [Cat, Dog]- 纯量(scalars):单个的、不可再分的值
eg:
1 字符串 布尔值 整数 浮点数 Null
2 时间日期- 复合结构:对象和数组可以结合使用,形成复合结构
eg:
languages:
- Ruby
- Perl
- Python
websites:
YAML: yaml.org
Ruby: ruby-lang.org
Python: python.org
Perl: use.perl.org
补充说明:纯量
数值直接以字面量的形式表示
number: 12.30
布尔值用true和false表示
isSet: true
null用 ~ 表示
parent: ~
时间采用 ISO8601 格式
iso8601: 2001-12-14t21:59:43.10-05:00
日期采用复合 iso8601 格式的年、月、日表示
date: 1976-07-31
YAML 允许使用两个感叹号,强制转换数据类型
e: !!str 123
f: !!str true
引用
- 引用会用到
&锚点符合和*星号符号,&用来建立锚点,<<表示合并到当前数据, 用来引用锚点。
jack: &jack
name: Jack
age: 20
dept:
id: D15D554F6D68A4E88E
<<: *jack
上面最终相当于如下:
jack:
name: Jack
age: 20
dept:
id: D15D554F6D68A4E88E
name: Jack
age: 20
- 文件内引用,引用已经定义好的变量
base.host: https://chenpi.com
add.person.url: ${base.host}/person/add
单文件多配置
#公共配置
spring:
profiles:
active: pro # 指定使用哪个文档块
#开发环境配置
spring:
profiles: dev # profiles属性代表配置的名称
server:
port: 8080
#生产环境配置
spring:
profiles: pro
server:
port: 8081
文本块
如果你想引入多行的文本块,可以使用|符号,注意在冒号:和 |符号之间要有空格。双引号能转义特殊字符:
person:
name: |
Hello Java!!
I am fine!
Thanks! GoodBye!
person:
name: "Hello Java!!nI am fine!nThanks! GoodBye!"
显示指定类型
显示指定某些值的类型,可以使用!(感叹号)显式指定类型。
!单叹号通常是自定义类型,!!双叹号是内置类型。
# 指定为字符串
string.value: !!str HelloWorld!
# !!timestamp指定为日期时间类型
datetime.value: !!timestamp 2021-04-13T02:31:00+08:00
最后
以上就是明理冬天最近收集整理的关于yaml文件格式说明yaml简介基本语法YAML支持的数据结构引用单文件多配置文本块显示指定类型的全部内容,更多相关yaml文件格式说明yaml简介基本语法YAML支持内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复