一、简单说明

yaml是一个可读性高,用来表达数据序列的格式。YAML 的意思其实是:仍是一种标记语言,但为了强调这种语言以数据做为中心,而不是以标记语言为重点

二、基本语法

缩进时不允许使用Tab键,只允许使用空格缩进的空格

数目不重要,只要相同层级的元素左侧对齐即可

# 标识注释,从这个字符一直到行尾,都会被解释器忽略

三、YAML 支持的数据结构

对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)

数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)

纯量(scalars):单个的、不可再分的值

四、写法

1、对象类型

对象的一组键值对,使用冒号结构表示

name: Steve

age: 18

Yaml 也允许另一种写法,将所有键值对写成一个行内对象

hash: { name: Steve, age: 18 }

2、数组类型

一组连词线开头的行,构成一个数组

animal

- Cat

- Dog

数组也可以采用行内表示法

animal: [Cat, Dog]

3、复合结构

对象和数组可以结合使用,形成复合结构

languages:

- Ruby

- Perl

- Python

websites:

YAML: yaml.org

Ruby: ruby-lang.org

Python: python.org

Perl: use.perl.org

4、纯量

纯量是最基本的、不可再分的值。以下数据类型都属于纯量

1 字符串 布尔值 整数 浮点数 Null

2 时间 日期

数值直接以字面量的形式表示

number: 12.30

布尔值用true和false表示

isSet: true

null用 ~ 表示

parent: ~

时间采用 ISO8601 格式

iso8601: 2001-12-14t21:59:43.10-05:00

日期采用复合 iso8601 格式的年、月、日表示

date: 1976-07-31

YAML 允许使用两个感叹号,强制转换数据类型

e: !!str 123

f: !!str true

5、字符串

字符串默认不使用引号表示

str: 这是一行字符串

如果字符串之中包含空格或特殊字符,需要放在引号之中

str: '内容:字符串'

单引号和双引号都可以使用,双引号不会对特殊字符转义

s1: '内容\n字符串'

s2: "内容\n字符串"

单引号之中如果还有单引号,必须连续使用两个单引号转义

str: 'labor''s day'

字符串可以写成多行,从第二行开始,必须有一个单空格缩进。换行符会被转为空格

str: 这是一段

多行

字符串

多行字符串可以使用|保留换行符,也可以使用>折叠换行

this: |

Foo

Bar

that: >

Foo

Bar

+ 表示保留文字块末尾的换行,- 表示删除字符串末尾的换行(+也为默认值)

s1: |

Foo

s2: |+

Foo

s3: |-

Foo

链接:https://www.bilibili.com/video/av66617940/?p=16

第七章 yaml格式的更多相关文章

  1. 第七章 LED将为我们闪烁:控制发光二极管

     第七章 LED将为我们闪烁:控制发光二极管 本章我们将会看到一个完整的linux驱动程序,通过linux驱动程序控制LED的四个小灯,通俗的说就是通过向linux驱动程序来控制LED小灯的开关.用到 ...

  2. Laxcus大数据管理系统2.0(9)- 第七章 分布任务组件

    第七章 分布任务组件 Laxcus 2.0版本的分布任务组件,是在1.x版本的基础上,重新整合中间件和分布计算技术,按照新增加的功能,设计的一套新的.分布状态下运行的数据计算组件和数据构建组件,以及依 ...

  3. 第七章Bulk设备

    小川工作室编写,本书为LM3S的USB芯片编写,上传的均为草稿,还有没修改,可能还有很多地方不足,希望各位网友原谅! QQ:2609828265 TEL:15882446438 E-mail:paul ...

  4. Linux Shell 示例精解(第七章 gawk编程)转载

    第七章 gawk功能:gawk编程 7.1.1 数字和字符串常量     初始化和类型强制  在awk中,变量不需要定义就可以直接使用,使用一个变量就是对变量的定义.变量的类型可以试数字.字符串,或者 ...

  5. ArcGIS API for JavaScript 4.2学习笔记[24] 【IdentifyTask类】的使用(结合IdentifyParameters类)(第七章完结)

    好吧,我都要吐了. 接连三个例子都是类似的套路,使用某个查询参数类的实例,结合对应的Task类,对返回值进行取值.显示. 这个例子是Identify识别,使用了TileLayer这种图层,数据来自Se ...

  6. ROS机器人程序设计(原书第2版)补充资料 (柒) 第七章 3D建模与仿真 urdf Gazebo V-Rep Webots Morse

    ROS机器人程序设计(原书第2版)补充资料 (柒) 第七章 3D建模与仿真 urdf Gazebo V-Rep Webots Morse 书中,大部分出现hydro的地方,直接替换为indigo或ja ...

  7. Android群英传笔记——第七章:Android动画机制和使用技巧

    Android群英传笔记--第七章:Android动画机制和使用技巧 想来,最 近忙的不可开交,都把看书给冷落了,还有好几本没有看完呢,速度得加快了 今天看了第七章,Android动画效果一直是人家中 ...

  8. 《python for data analysis》第七章,数据规整化

    <利用Python进行数据分析>第七章的代码. # -*- coding:utf-8 -*-# <python for data analysis>第七章, 数据规整化 imp ...

  9. Linux内核分析 读书笔记 (第七章)

    第七章 链接 1.链接是将各种代码和数据部分收集起来并组合成为一个单一文件的过程,这个文件可被加载(或被拷贝)到存储器并执行. 2.链接可以执行于编译时,也就是在源代码被翻译成机器代码时:也可以执行于 ...

随机推荐

  1. flex 的经典用法

    Document   11 21 31 41 51 61 71 81 91 101 111 121 131 141 151 161 171 181 191 201 211 221 231 241 25 ...

  2. postmortem报告【第二组】

    一.alpha阶段的经验教训 1.针对 进度规划不到位,任务完成速度慢 的问题,引入teambition规范任务管理,每周组会验收上一周任务,发布下一周任务,对各组员是否完成任务以及完成质量进行评价. ...

  3. python socket的长连接和短连接

    前言 socket中意为插座,属于进程间通信的一种方式.socket库隐藏了底层,让我们更好的专注于逻辑.如果短连接和长连接两概率没搞明白,会被坑的爬不起来. 短连接 一次完整的传输过程,发送方输出流 ...

  4. 转帖 java使用poi.3.10读取excel 2010

    package poi; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; ...

  5. 修改Docker中容器的时间和宿主主机时间一致

    修改Docker容器的时间和宿主时间一致 在查看容器的日志的,发现时间有和宿主主机时间相差有8个小时,而且宿主主机使用的是CST时间,容器容器使用的是UTC时间 主机时间 DOCKER容器的时间 世界 ...

  6. html+jquery+php实现文件上传全过程

    本例子采用html+jquery+php实现上传功能 html部分 <!DOCTYPE html> <html> <head> <meta charset=& ...

  7. C 给定路径遍历目录下的所有文件

    在此之前需要了解 WIN32_FIND_DATA的结构 以及  FindFirstFile. FindNextFile原型以及用法注意事项传送门如下 https://msdn.microsoft.co ...

  8. 【JS】JS以及CSS对页面的阻塞

    一.JS阻塞 所有的浏览器在下载JS文件的时候,会阻塞页面上的其他活动,包括其他资源的下载以及页面内容的呈现等等,只有当JS下载.解析.执行完,才会进行后面的 操作.在现代的浏览器中CSS资源和图片i ...

  9. OC学习篇之---@property和@synthesize的使用

    在之前一片文章我们介绍了OC中的内存管理:http://blog.csdn.net/jiangwei0910410003/article/details/41924683,今天我们来介绍两个关键字的使 ...

  10. Github上的SlidingMenu菜单的使用方法

    GitHub上的SlidingMenu的配置方法 1. 首先明确SlidingMenu是什么? 2. 如何使用SlidingMenu框架呢? GitHub上的SlidingMenu的配置方法 1. 首 ...