了解 yaml文件格式

1....yaml 文件格式:

    YAML 是一种简洁的非标记语言。YAML以数据为中心,使用空白,缩进,分行组织数据,从而使得表示更加简洁易读。

基本规则  :

                  大小写敏感

      使用缩进表示层级关系

      禁止使用tab缩进,只能使用空格键

      缩进长度没有限制,只要元素对齐就表示这些元素属于一个层级

      使用#表示注释

      字符串可以不用引号标注

 1 map:散列表
 2 
 3 # YAML表示
 4 age:12
 5 name:huang
 6 #对应json表示
 7 {'age':12,'name':'huang'}
 8 # 也可以 将一个map写在一行:
 9 {age:12, name:huang}


11 list 数组 12 - a 13 - b 14 - 12 15 # 一行表示 16 [a,b,c] 17 # 对应json表示 18 ['a','b',12]

字符串  布尔值   整数   浮点数   Null  时间    日期

 1 # 布尔值用true和false表示
 2 isSet: true
 3 # null 用~表示
 4 parent:~
 5 # YAML 允许使用两个感叹号,强制转换数据类型。
 6 e: !!str 123
 7 f: !!str true
 8 # 字符串可以写成多行,从第二行开始,必须有一个单空格缩进。换行符会被转为空格。
 9 str: 这是一段
10   多行
11   字符串
12 # 多行字符串可以使用|保留换行符,也可以使用>折叠换行。
13 this: |
14  Foo
15  Bar
16 that: >
17  Foo
18  Bar
19  
20 # `+` 表示保留文字块末尾的换行,`-`表示保留文字块末尾的换行
21 s1: |
22  Foo
23 s2: |+
24  Foo
25 s3: |-
26  Foo
27  
28  # 锚点&和别名*,可以拿来引用
29  # &用来建立锚点(defaults),<<表示合并到当前数据,*用来引用锚点
30  defaults: &defaults
31   adapter: postgres
32   host: localhost
33  development:
34   database: myapp_development
35   <<: *defaults
36  test:
37   database: myapp_test
38   <<: *defaults

map嵌套map

 1 Yaml表示
 2 websites:
 3     YAML: yaml.org
 4     Ruby: ruby-lang.org
 5     Python: python.org
 6     Perl: use.perl.org
 7  # 对应json表示
 8  { websites: 
 9    { YAML: 'yaml.org',
10      Ruby: 'ruby-lang.org',
11      Python: 'python.org',
12      Perl: 'use.perl.org' } }

map嵌套list

1 # Yaml
2 languages:
3   - Ruby
4   - Perl
5   - C
6   - Python
7  # 对应Json
8  {languages: ['Ruby','Perl','C','Python']}

list嵌套list

 1 # YAML表示
 2 -
 3   - Ruby
 4   - Perl
 5   - Python
 6 - 
 7   - C
 8   - C++
 9   - Java
10 # 对应json
11 [['Ruby', 'Perl', 'Python' ], [ 'c', 'c++', 'java' ]]

list嵌套map

1 # YAML表示
2 -
3   id:1
4   name: huang
5 -
6   id:2
7   name: liao
8 # 对应json
9 [{id: 1, name: 'huang'}, {id:2,name:'liao'}]
原文地址:https://www.cnblogs.com/wangshichang/p/11400148.html