使用yaml编写配置文件

yaml

  • 一个数据序列化的标准,适用于所有开发语言,最大的特点是可读性好。
  • 一个主要应用方向就是编写配置文件,有非常多的系统和框架采用yaml进行配置。

yaml基本规则

  1. 区分大小写
  2. 使用缩进表示层级关系;
  3. 禁止使用tab缩进,只能使用空格键;
  4. 缩进长度没有限制,只要元素对奇就表示该部分元素属于一个层级;
  5. 使用#表示注释;
  6. 字符串可以不用引号标注

三种数据结构

1. map,散列表

使用冒号:表示键值对,同一缩进的所有键值对属于一个map
#yaml表示
age:12
name:aa
#对应的Json表示
{'age':12,'name':'aa'}

2. list,数组

使用连接符(-)表示:
#yaml表示:
-a
-b
-1
#对应的Json表示:
['a','b',1]
#也可以写在一行
[a,b,c]
#对应Json表示
['a','b','c']

3. scalar,纯量

数据最小的单位,不可以再分割

数据结构嵌套

  1. map嵌套map
#yaml表示
websites:
 YAML:yaml.org
 Ruby:ruby-lang.org
 Python:python.org
 Perl:use.perl.org
#对应的Json表示
{websites:
  {YAML:'yaml.org',
   Ruby:'ruby-lang.org',
   Python:'python.org',
   Perl:'use.perl.org' } }
  1. map嵌套list
#YAML表示
languages:
 - ruby
 - perl
 - python
 - c
#对应Json表示
{language:['ruby','perl','python','c']}  
  1. list嵌套list
方法一: 
#YAML表示
-
 - ruby
 - perl
 - python
-
 - c
 - c++
 - java

#对应Json表示
[['ruby','perl','python'],['c','c++','java']]

方法二:
-- ruby
 - perl
 - python
-- c
 - c++
 - java

方法三:
- [ruby,perl,python]
- [c,c++,java]
  1. list嵌套map
#YAML表示
-
 id:1
 name:a
-
 id:2
 name:b
#对应Json表示
[{id:1,name:'a'},{id:2,name:'b'}]

猜你喜欢

转载自www.cnblogs.com/QFKing/p/11869352.html