zoukankan      html  css  js  c++  java
  • 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连接,最后使用+代表时区

    不积跬步,无以至千里;不积小流,无以成江海。
  • 相关阅读:
    1052 Linked List Sorting (25 分)
    1051 Pop Sequence (25 分)
    1050 String Subtraction (20 分)
    1049 Counting Ones (30 分)
    1048 Find Coins (25 分)
    1047 Student List for Course (25 分)
    1046 Shortest Distance (20 分)
    1045 Favorite Color Stripe (30 分)
    1044 Shopping in Mars (25 分)
    1055 The World's Richest (25 分)
  • 原文地址:https://www.cnblogs.com/xuezhimin-esage-2020/p/14185320.html
Copyright © 2011-2022 走看看