YAML基本语法

1、YAML基本介绍

YAML是 YAML Ain’t Markup Language(中文意思:YAML不是一种标记语言)的缩写,YAML 是一种简洁的非标记语言,文件名后缀为yml,java中经常用它描述配置文件application.yml。YAML以数据为中心,比json/xml等更适合做配置文件。使用空白,缩进,分行组织数据,从而使得表示更加简洁易读。

 

2、yaml基本语法

2.1、yaml语法基本规则

YAML有以下基本规则:

  1. 大小写敏感
  2. 使用缩进表示层级关系,只要是左边对齐的一列数据都是同一个层级的
  3. 数据值前边必须有空格,作为分隔符,否则无法识别该字段值为一个属性(比如 port: 8082,8082前边必须最少有一个空格,可以有多个)
  4. 禁止使用tab缩进,只能使用空格键
  5. 字符串可以用也可以不用引号引起来
  6. 缩进长度没有限制,只要元素对齐就表示这些元素属于一个层级。
  7. 使用 # 表示注释

 

2.2、常量的写法

语法结构 :key:空格 value (注意,空格不能去掉,否则无法正确识别)。

yaml 以空格的缩进来控制层级关系,只要是左对齐的一列数据,都是同一个层级的

server:
  port: 8081

字面量直接写在后面就可以 , 字符串默认不用加上双引号或者单引号。

 

注意:

  • "xxx"  双引号可以识别转义字符, 特殊字符会作为本身想表示的意思。比如 :name: "kuang \n shen",使用该属性值时,输出会得到结果:kuang  换行   shen

  • 'xxx' 单引号会忽略转义字符 , 特殊字符最终会原样输出。比如 :name: 'kuang \n shen',使用该属性值时,输出会得到结果:kuang  \n   shen

在同一个 yml 文件里,不能有多个相同对象,同一个对象里不能有多个相同的属性

 

2.3、对象(Map)的写法

在下一行来写对象的属性和值的关系,注意缩进。

#对象、Map格式
k: 
    v1:
    v2:

#示例:
student:
    name: qinjiang
    age: 3

也可以使用行内写法,如下:

student: {name: qinjiang,age: 3}

 

2.4、数组的写法

用 - 值 来表示数组中的一个元素。

pets:
 - cat
 - dog
 - pig

#行内写法如下:
pets: [cat,dog,pig]

 

2.5、参数的引用

在 yml 中可以直接引用文件内其他地方出现的属性值,如下:

name: lisi
person:
    name: ${name} # 引用上边定义的name值

 

posted @ 2021-11-16 22:17  wenxuehai  阅读(3983)  评论(0编辑  收藏  举报
//右下角添加目录