泥瓦匠的专栏

记录点滴

YAML 语法浅析

YAML简介:

YAML是YAML不是一种标记语的外语缩写;但为了强调这种语言以数据做为中心,而不是以置标语言为重点,而用返璞词重新命名。它是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言。

在线编辑器,可以将YAML 转换为JSON 或Python 的output。

语法特性

1,使用缩进来表示层级关系, 且禁止使用tab 来缩进, 只可以使用空格。

2,大小写敏感。

3,缩进长度可以为任意长度,但是同一层级的元素必须对齐。

4,#来表示注释行的开始。

5,字符串不需要引号标注

6, 冒号和后面的value 必须有至少一个空格

基本语法

1,LIST, 数组。YAML使用 连字符(-) , 连字符后面必须加空格表示:

#YAML
- cat
- dog
- elephant
#或者写在一行
[cat,dog,elephant]

#JSON
[
  "cat", 
  "dog", 
  "elephant"
]


#Python
['cat', 'dog', 'elephant']

2, MAP, YAML使用冒号(注意空格的使用), 来表示key-value。

#YAML
name: tiefanhe
age: 22
#JSON
{
  "age": 22, 
  "name": "tiefanhe"
}
#Python
{'age': 22, 'name': 'tiefanhe'}

3, scalar, 最小的数据单位,不可分割

数据结构的组合嵌套

1, LIST 嵌套LIST

#YAML 表示法1
-
 - apple
 - banana
 - orange
-
 - cat
 - dog
 - elephant

#YAML 表示法2
- - apple
  - banana
  - orange
- - cat
  - dog
  - elephant

#JSON
[
  [
    "apple", 
    "banana", 
    "orange"
  ], 
  [
    "cat", 
    "dog", 
    "elephant"
  ]
]
#Python
[['apple', 'banana', 'orange'], ['cat', 'dog', 'elephant']]

2,LIST 嵌套MAP

#YAML 表示1
-
 name: tie fanhe
 age: 22
-
 name: san zhang
 age: 23

#YAML 表示2
- name: tie fanhe
  age: 22
- name: san zhang
  age: 23
#JSON
[
  {
    "age": 22, 
    "name": "tie fanhe"
  }, 
  {
    "age": 23, 
    "name": "san zhang"
  }
]

#Python
[{'age': 22, 'name': 'tie fanhe'}, {'age': 23, 'name': 'san zhang'}]

3, MAP 嵌套LIST

#YAML 表示
Animal:
 - cat
 - dog

Fruit:
 - apple
 - banana
#JSON
{
  "Fruit": [
    "apple", 
    "banana"
  ], 
  "Animal": [
    "cat", 
    "dog"
  ]
}

#Python
{'Animal': ['cat', 'dog'], 'Fruit': ['apple', 'banana']}

4, MAP 嵌套MAP

#YAML 表示
Student1:
 name: tie fanhe
 age: 22

Student2:
 name: san zhang
 age: 23
#JSON
{
  "Student2": {
    "age": 23, 
    "name": "san zhang"
  }, 
  "Student1": {
    "age": 22, 
    "name": "tie fanhe"
  }
}
#Python
{'Student1': {'age': 22, 'name': 'tie fanhe'},
 'Student2': {'age': 23, 'name': 'san zhang'}}


阅读更多
文章标签: YAML
个人分类: 配置语言
上一篇Leetcode[4] Median of Two Sorted Arrays
下一篇[leetcode 801] Minimum Swaps To Make Sequences Increasing
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭