参考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. Android笔试题三

    1.java堆得Young区由哪些组成: Java堆由Perm区和Heap区组成,Heap区由Old区和New区(也叫Young区)组成,New区由Eden区.From区和To区(Survivor)组 ...

  2. MySQL 在Windows平台上的安装及实例多开

    MySQL在Windows平台上的安装及实例多开   by:授客 QQ:1033553122 测试环境 Win7 64 mysql-5.7.20-winx64.zip 下载地址: https://cd ...

  3. Visualization of Detail Point Set by Local Algebraic Sphere Fitting

    Refers to Dynamic Sampling and Rendering of Algebraic Point Set Surfaces Growing Least Squares for t ...

  4. react-router-dom v^4路由、带参路由的配置

    首先安装路由 npm install --save react-router-dom 新建一个router.js文件 然后我们的router.js代码如下↓ import React from 're ...

  5. 复杂的web---web中B/S网络架构

    web中B/S网络架构 1:web中B/S网络架构 2:CDN工作机制和架构 3:负载均衡:    B/S分别是浏览器/服务器,架构流程为:     当你访问网站的时候,浏览器发送各种请求给浏览器,服 ...

  6. 杨学明老师推出全新课程--《敏捷开发&IPD和敏捷开发结合的实践》

    课时:13小时(2天) 敏捷开发&IPD和敏捷开发结合的实践 讲  师:杨学明 [课程背景] 集成产品开发(IPD).集成能力成熟度模型(CMMI).敏捷开发(Agile Developmen ...

  7. Hibernate:查询

    本文内容 OID查询 对象导航查询 HQL查询 QBC查询 SQL查询 首发日期:2018-07-31 hibernate的查询方式: hibernate有很多查询方式 OID查询 对象导航查询: H ...

  8. Linux Xshell连接Linux服务器时报错Socket error Event: 32 Error: 10053

    问题描述 在用Xshell连接Linux服务器时,出现错误提示"Socket error Event: 32 Error: 10053. Connection closing...Socke ...

  9. pycharm 中按照文档引包方式,引包错误

    * python使用pycharm ide,如果电脑上有多个解释器的,在项目解释器配置的应该是当前使用的解释器: * 可以把当前使用的解释器目录添加到系统环境变量中,这样就不会报错了 另外,如果目录中 ...

  10. LeetCode题解之Lemonade Change

    1.题目描述 2.问题分析 使用贪心算法. 3.代码 class Solution { public: bool lemonadeChange(vector<int>& bills ...