yaml

YAML(/ˈjæməl/,尾音类似 camel 骆驼)是一个可读性高,用来表达数据序列的格式。

格式

对象

key:value
key2:"value"
key3:
  skey1:value

短结构

family: { name: Doe}

数组

list:
      - John
      - Jane

或者

parents: [John, Jane]

字符串

多行缩进

yaml通过 空格缩进 来表示不同的数据结构,相同的层级有相同的前缀空格数,一般使用 2个空格进行缩进。

连续的项目 array 通过 减号“-”来表示,map 结构里面的 key/value 对用冒号“:”来分隔。样例如下:

house:
  family:
    name: Doe
    parents:
      - John
      - Jane
    children:
      - Paul
      - Mark
      - Simone
  address:
    number: 34
    street: Main Street
    city: Nowheretown
    zipcode: 12345

单行缩写

如果写在同一样的话,数组用'[]'包括起来,hash用'{}'来包括。例如:

house:
  family: { name: Doe, parents: [John, Jane], children: [Paul, Mark, Simone] }
  address: { number: 34, street: Main Street, city: Nowheretown, zipcode: 12345 }


引用

创建锚点和别名,用于拷贝相同项的value,避免重复编写。

- &showell Steve 
- Clark 
- Brian 
- Oren 
- *showell

相当于

[ 'Steve', 'Clark', 'Brian', 'Oren', 'Steve' ]

举例

name: John Smith 
age:  37 
spouse: 
    name: Jane Smith 
    age:  25 
children: 
    -   name: Jimmy Smith 
        age:  15 
    -   name: Jenny Smith 
        age   12

数组表示:

$john = array(
    'name' => 'John Smith',
    'age' => 37,
    'spouse' => array(
        'name' => 'Jane Smith',
        'age' => 25
    ),
    'children' => array(
        0 => array(
            'name' => 'Jimmy Smith',
            'age' => 5
        ),
        1 => array(
            'name' => 'Jenny Smith',
            'age' => 3
        )
    )
);

参见

配置文件

参考资料