参考http://www.ruanyifeng.com/blog/2016/07/yaml.html

基本语法规则如下。
    •    大小写敏感
    •    使用缩进表示层级关系
    •    缩进时不允许使用Tab键,只允许使用空格。
    •    缩进的空格数目不重要,只要相同层级的元素左侧对齐即可

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

下面只记录一些比较特别的表示,详细内容可看链接

1.null用~表示,如

parent: ~ 

2.时间,日期

时间采用 ISO8601 格式:

iso8601: --14t21::43.10-: 

转成JavaScript为:

{ iso8601: new Date('2001-12-14t21:59:43.10-05:00') }

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

date: --

转为 JavaScript 如下:

{ date: new Date('1976-07-31') }

3.强制转换类型——使用两个感叹号

e: !!str
f: !!str true

转为 JavaScript 如下

{ e: '', f: 'true' }

4.字符串

1)字符串默认不使用引号表示,如:

str: 这是一行字符串

转为 JavaScript 如下:

{ str: '这是一行字符串' }

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

str: '内容: 字符串'

转为 JavaScript 如下:

{ str: '内容: 字符串' }

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

str: 'labor''s day' 

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

str: 这是一段
多行
字符串

转为 JavaScript 如下:

{ str: '这是一段 多行 字符串' }

5)多行字符串可以使用 | 保留换行符,也可以使用 > 折叠换行。(没有则是空格连成一句)

this: |
Foo
Bar
that: >
Foo
Bar

转为 JavaScript 代码如下:

{ this: 'Foo\nBar\n', that: 'Foo Bar\n' }

6) +表示保留文字块末尾的换行,-表示删除字符串末尾的换行。

s1: |
Foo
s2: |+
Foo
s3: |-
Foo

转为 JavaScript 代码如下:

{ s1: 'Foo\n', s2: 'Foo\n\n\n', s3: 'Foo' }

5.引用

锚点&和别名*,可以用来引用。

defaults: &defaults   #这个冒号后面必须是一个空格
adapter: postgres
host: localhost development:
database: myapp_development
<<: *defaults test:
database: myapp_test
<<: *defaults

&用来建立锚点(defaults),<<表示合并到当前数据,*用来引用锚点

所以等同于下面的代码:

defaults:
adapter: postgres
host: localhost development:
database: myapp_development
adapter: postgres
host: localhost test:
database: myapp_test
adapter: postgres
host: localhost

另一个例子为:

- &showell Steve
- Clark
- Brian
- Oren
- *showell

转为 JavaScript 代码如下:

[ 'Steve', 'Clark', 'Brian', 'Oren', 'Steve' ]

yaml的简单学习的更多相关文章

  1. Vagrant 安装Oracle19c RAC测试环境的简单学习

    1. 学习自网站: https://xiaoyu.blog.csdn.net/article/details/103135158 简单学习了下 能够将oracle RAC开起来了 但是 对后期的维护和 ...

  2. Log4j简单学习笔记

    log4j结构图: 结构图展现出了log4j的主结构.logger:表示记录器,即数据来源:appender:输出源,即输出方式(如:控制台.文件...)layout:输出布局 Logger机滤器:常 ...

  3. shiro简单学习的简单总结

    权限和我有很大渊源. 培训时候的最后一个项目是OA,权限那块却不知如何入手,最后以不是我写的那个模块应付面试. 最开始的是使用session装载用户登录信息,使用简单权限拦截器做到权限控制,利用资源文 ...

  4. CentOS 简单学习 firewalld的使用

    1. centos7 开始 使用firewalld 代替了 iptables 命令工具为 firewall-cmd 帮助信息非常长,简单放到文末 2. 简单使用 首先开启 httpd 一般都自带安装了 ...

  5. Windows 下 Docker 的简单学习使用过程之一 dockertoolbox

    1. Windows 下面运行 Docker 的两个主要工具1): Docker for Windows2): DockerToolbox区别:Docker For Windows 可以理解为是新一代 ...

  6. 在MVC中实现和网站不同服务器的批量文件下载以及NPOI下载数据到Excel的简单学习

    嘿嘿,我来啦,最近忙啦几天,使用MVC把应该实现的一些功能实现了,说起来做项目,实属感觉蛮好的,即可以学习新的东西,又可以增加自己之前知道的知识的巩固,不得不说是双丰收啊,其实这周来就开始面对下载在挣 ...

  7. Linux——帮助命令简单学习笔记

    Linux帮助命令简单学习笔记: 一: 命令名称:man 命令英文原意:manual 命令所在路径:/usr/bin/man 执行权限:所有用户 语法:man [命令或配置文件] 功能描述:获得帮助信 ...

  8. OI数学 简单学习笔记

    基本上只是整理了一下框架,具体的学习给出了个人认为比较好的博客的链接. PART1 数论部分 最大公约数 对于正整数x,y,最大的能同时整除它们的数称为最大公约数 常用的:\(lcm(x,y)=xy\ ...

  9. mongodb,redis简单学习

     2.mongodb安装配置简单学习                   配置好数据库路径就可以mongo命令执行交互操作了:先将服务器开起来:在开个cmd执行交互操作                 ...

随机推荐

  1. laravel前后台路由分离

    在laravel中创建文件放置前台和后台控制器 找到app/providers/RouteServiceProvider.PHP文件 在内配置 例: <?php namespace App\Pr ...

  2. ChartControl ViewType.Pie3D 用法测试

    效果图一. public partial class Form3 : Form { public Form3() { InitializeComponent(); } private void For ...

  3. HTML5为输入框添加语音输入功能

    这里介绍的是大家以后要用到的html强大功能,可直接给输入框增加语音功能,下面我们先来看看实现方法. 大家可以看到在输入框右边的麦克风图标,点击麦克风就能够进行语音识别了. 其实很简单,语音识别是ht ...

  4. SD Consultant Year End Activities

    SD Consultant Year End Activities What are the year ending activities to be done for SAP SD?   S.No ...

  5. 归并排序(MergeSort)和快速排序(QuickSort)的一些总结问题

    归并排序(MergeSort)和快速排序(QuickSort)都是用了分治算法思想. 所谓分治算法,顾名思义,就是分而治之,就是将原问题分割成同等结构的子问题,之后将子问题逐一解决后,原问题也就得到了 ...

  6. Wu反走样算法绘制直线段

    Wu反走样算法 原理:在我看来,Wu反走样算法是在Bresenham算法基础上改进了一番,它给最靠近理想直线/曲线的两个点以不同的亮度值,以达到模糊锯齿的效果.因为人眼看到的是线附近亮度的平均值. M ...

  7. CSS之表格边框合并、兄弟标签外边距合并、父子标签的外边距合并

    本文内容: 表格边框合并 兄弟标签外边距合并 父子标签的外边距合并 首发日期:2018-05-01 表格边框合并: 发生情况: 当设置了cellpadding="0" cellsp ...

  8. int,int32_t,int64_t

    一.数据类型特别是int相关的类型在不同位数机器的平台下长度不同.C99标准并不规定具体数据类型的长度大小,只规定级别.作下比较: 16位平台 char         1个字节8位short     ...

  9. CSS margin 外边距 属性的位置关系

    padding:内边距 margin :外边距 margin:10px; 所有 4 个外边距都是 10px ******************************************* ma ...

  10. spring4笔记----UrlResource访问网络资源读取xml内容

    package com.ij34.bean; import java.util.Iterator; import java.util.List; import org.dom4j.Document; ...