YAML: YAML Ain't Markup Lauguage
YAML A Markup Language:是一个标记语言;
YAML isn't Markup Language:不是一个标记语言。(到底是不是标记语言呢,肯定跟标记语言有这千丝万缕的关系)
那什么是标记语言呢?
标记语言,是一种将文本以及文本相关的其他信息结合起来,展现出关于文档结构和数据处理细节的电脑文字编码。与文本相关的其他信息(包括文本的结构和表示信息等)与原来的文本结合在一起,但是使用标记进行标识。(摘自百度百科)
有没有一脸懵逼,其实你早就接触过了标记语言,xml.
YAML:以数据为中心,
YAML的配置例子
server:
port:8090
xml的配置方式:
<server>
<port>8090</port>
</server>
1.YAML基本语法
k:(此处是空格)v:表示以对键值对(必须要有空格)-->k: v:
以 空格 的缩进来控制层级关系;不管空格有多少,只要是左对齐的一类数据,都是一个级别的(属性 和 值 区分大小写)
eg:
server:
port:8090
path:/hello
2.值的写法
字面量:普通的值(数字,字符串,布尔)
k: v:直接写就好了,(注意空格)
"":双引号;不会转义字符串里面的特殊字符;特殊字符会作为本身想表示的意思
name: "zhangsan \n lisi":输出;zhangsan 换行 lisi
'':单引号;会转义特殊字符,特殊字符最终只是一个普通的字符串数据
name: ‘zhangsan \n lisi’:输出;zhangsan \n lisi
对象、Map(属性和值)(键值对):
k: v:在下一行来写对象的属性和值的关系;注意缩进
对象的一种写法:
friends:
lastName:zhangsan
age:20
对象的另一种写法(行内写法)(注意空格)
frinends: {lastName: zhangsan,age: 20}
数组(List,Set):
用- 值表示数组中的一个元素(注意空格)
pets:
- cat
- dog
- pig
行内写法
pets: [cat,pig,dog]