Yaml简介

简介

1. yaml是什么
2. 为什么要使用yaml
3. 如何使用yaml
4. yaml和其他相近语言的对比

Yet Another Markup Language

适应场景:
1. 脚本语言:由于实现简单,解析成本很低,YAML 特别适合在脚本语言中使用
2. 序列化: YAML是由宿主语言数据类型直转,的比较适合做序列化。
3. 配置文件:写 YAML 要比写 XML 快得多(无需关注标签或引号),并且比 INI 文档功能更强。由于兼容性问题,不同语言间的数据流转建议不要用 YAML。


YAML专门针对常见用例而设计的的:
1. 配置文件
2. 日志文件
3. 跨语言共享文件以及数据共享

YAML中允许表示三种格式:
1. 常量值
2. 对象
3. 数组

表示url属性值
url:http://www.baidu.com

表示server.host属性的值
server:
    host:http://www.baidu.com
====
数组,表示server为[a,b,c]
server:
    120.168.0.21
    120.168.0.22
    120.168.0.23
====
常量
pi:3.14 #定义一个数值
hasChild: true #定义一个boolean值
name:"你好" #定义一个字符串

注释:使用#作为注释的开始,YAML中只有行注释

基本格式:
1. YAML大小写敏感
2. 使用缩进代表曾经关系
3. 缩进只能使用空格,不要求空格数

数据结构

1. 对象
key:value

也可以写成:

key:{child-key:value,child-key2:value2}

较为复杂的对象格式,可以使用问号加一个空格代表一个复杂的key,配合一个冒号加一个空格代表一个值(value)。

?  
    - complexkey1
    - complexkey2
:
    - complexvalue1
    - complexvalue2

表示对象的属性是一个数组[complexkey1,complexkey2],对应的值也是一个数组[complexvalue1,complexvalue2

数组
  1. 使用一个短横线加一个空格代表一个数组项:
常量
一些特殊符号
  1. 第1种,--- YAML可以在同一个文件中,使用—-表示一个文档的开始
  2. 也常常使用---来分割不同的内容,比如记录日志:
  3. 第2种,... 和---配合使用,在一个配置文件中代表一个文件的结束:
  4. 第3种,!! YAML中使用!!做类型强行转换:
string:
    >- !!str 54321 >
    >- !!str true>
    #强制转换为字符串
  1. 第4种,>在字符串中折叠换行,| 保留换行符,这两个符号是YAML中字符串经常使用的符号,比如:
  2. 第5种,引用。重复的内容在YAML中可以使用&来完成锚点定义,使用*来完成锚点引用,例如:
  3. 第6种,合并内容。主要和锚点配合使用,可以将一个锚点内容直接合并到一个对象中。来看一个示例:
  1. 集合和结构

    集合中的块序列表示每个条目带有破折号和空格( - )

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 简介 YAML 是一种简洁的非标记语言。YAML以数据为中心,使用空白,缩进,分行组织数据,从而使得表示更加简洁易...
    柱柱007阅读 709评论 0 0
  • 信息标记的三种形式 信息的标记 信息在传递的过程中都需要加以标记,可通过标签的方式,比如HTML,也可以通过键值对...
    3D打印老A阅读 2,551评论 0 2
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,315评论 0 3
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,270评论 0 4
  • 四天的执行师一阶段圆满收官,收获很多!感恩王老师的大爱付出!感恩家人们的陪伴和分享!感恩关姐爬楼梯上来,没休息就教...
    屈玉华阅读 138评论 0 0