YAML基础教程

一、YAML介绍
YAML参考了其他多种语言,包括:XML、C语言、Python、Perl以及电子邮件格式RFC2822。Clark Evans在2001年5月在首次发表了这种语言,另外Ingy döt Net与Oren Ben-Kiki也是这语言的共同设计者。
YAML是"YAML Ain't a Markup Language"(YAML不是一种置标语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种置标语言),
YAML的特性
1、YAML的可读性好
2、YAML和脚本语言的交互性好
3、YAML使用实现语言的数据类型
4、YAML有一个一致的信息模型
5、YAML可以基于流来处理
6、YAML表达能力强、扩展性好

二、YAML语法
基本语法规则如下:
        大小写敏感
        使用缩进表示层级关系
        缩进时不允许使用Tab键,只允许使用空格。
        缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
# 表示注释,从这个字符一直到行尾,都会被解析器忽略。

YAML 支持的数据结构有三种:
        对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
        数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
        纯量(scalars):单个的、不可再分的值

YAML的语法和其他高阶语言类似,并且可以简单表达清单、散列表,标量等资料形态。连续的项目通过减号“-”来表示,map结构里面的key/value对用冒号“:”来分隔。样例如下:
house:
  family:
    name: Doe
    parents:
      - John
      - Jane
    children:
      - Paul
      - Mark
      - Simone
  address:
    number: 34
    street: Main Street
    city: Nowheretown
    zipcode: 12345
    
注意:
    字串不一定要用双引号标识;
    在缩排中空白字符的数目并不是非常重要,只要相同阶层的元素左侧对齐就可以了(不过不能使用TAB字符);
    允许在文件中加入选择性的空行,以增加可读性;
    在一个档案中,可同时包含多个文件,并用“——”分隔;
    选择性的符号“...”可以用来表示档案结尾(在利用串流的通讯中,这非常有用,可以在不关闭串流的情况下,发送结束讯号)。
YAML文件扩展名通常为.yaml 如example.yaml

2.2.1 list
列表的所有元素均使用"-"开头,例如:
      - John
      - Jane
2.2.2 dictionary
字典通过key与value进行标识,例如:
   number: 34
    street: Main Street
    city: Nowheretown
    zipcode: 12345
也可以将key:value放置于{}中进行表示,例如:
    {street: Main Street,city: Nowheretown,zipcode: 12345}

上一篇:UWP 五星好评


下一篇:[Python学习] Django 权限控制