YAML基础语法

YAML最基本的使用格式:

YAML中允许表示三种格式,分别是常量值,对象和数组

如:

表示url属性值;

url: http://www.baidu.com

表示server.host属性的值;

server:

     host: http://www.baidu.com

数组,即表示server为[a,b,c]

server:

    - 192.168.2.163
    - 192.168.2.164
    - 192.168.2.165
常量
pi: 3.14 #定义一个数值3.14 
hasChild: true #定义一个boolean值 
name: '你好YAML' #定义一个字符串

注释

和properties相同,使用#作为注释,YAML中只有行注释。

基本格式要求

1,YAML大小写敏感;
2,使用缩进代表层级关系;
3,缩进只能使用空格,不能使用TAB,不要求空格个数,只需要相同层级左对齐(一般2个或4个空格)

对象

使用冒号代表,格式为key: value。冒号后面要加一个空格:

key: value

可以使用缩进表示层级关系;

key: 
 child-key: value 
 child-key2: value2

YAML中还支持流式(flow)语法表示对象,比如:

key: {child-key: value, child-key2: value2}

较为复杂的对象格式,可以使用问号加一个空格代表一个复杂的key,配合一个冒号加一个空格代表一个value:

?  
    - complexkey1
    - complexkey2

: 

    - complexvalue1
    - complexvalue2

意思即对象的属性是一个数组[complexkey1,complexkey2],对应的值也是一个数组[complexvalue1,complexvalue2]

数组

使用一个短横线加一个空格代表一个数组项:

hobby: 
    - Java
    - Python

下面写法也可:

-
    - Java
    - Python

可以简单理解为:[[Java,LOL]]

复杂的例子:

companies:     
    -

         id: 1

 

 name; ss
 price: 200W
    -

         id: 2

     name; cc
     price: 300W

意思是companies属性是一个数组,每一个数组元素又是由id,name,price三个属性构成;
数组也可以使用流式(flow)的方式表示:

companies: [{id: 1,name: company1,price: 200W},{id: 2,name: company2,price: 300W}]

常量

YAML中提供了多种常量结构,包括:整数,浮点数,字符串,NULL,日期,布尔,时间。下面使用一个例子来快速了解常量的基本使用:

boolean:
    - TRUE  #true,True都可以
    - FALSE  #false,False都可以
float:
    - 3.14
    - 6.8523015e+5  #可以使用科学计数法
int:
    - 123
    - 0b1010_0111_0100_1010_1110  #二进制表示
null:
    nodeName: 'node'
    parent: ~  #使用~表示null
string:
    - 哈哈
    - 'Hello world'  #可以使用双引号或者单引号包裹特殊字符
    - newline
      newline2  #字符串可以拆成多行,每一行会被转化成一个空格
date:
    - 2020-09-27  #日期必须使用ISO 8601格式,即yyyy-MM-dd
datetime:
    - 2020-09-27T15:02:31+08:00  #时间使用ISO 8601格式,时间和日期之间使用T连接,最后使用+代表时区

 

posted @ 2020-12-24 17:36  莫离m  阅读(313)  评论(0编辑  收藏  举报