参考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 view显示在软键盘上方

    给EditText外加一个ScrollView,将高度设置统一,并给ScrollView设置属性 android:fillViewport="true".  注:ScrollVie ...

  2. #WEB安全基础 : HTML/CSS | 0x1初识CSS

    "我受够这些难看的网页了,我怎么才能让它变得好看点?"你说. 我答道:"看来你得学点CSS了" 学习这些东西只有一个原则,就是用你的脑袋想,用你的眼睛看,用的你 ...

  3. verilog实现红黄蓝三秒灯

    代码如下 test.v文件 led.v文件 module test(); wire led_r,led_g,led_b; ; clk <= ~clk; led c1 ( .clk(clk), . ...

  4. git 入门教程之本地和远程仓库的本质

    本地仓库和远程仓库在本质上没有太大区别,只不过一个是本地电脑,一个是远程电脑. 远程仓库不一定非得是 github 那种专门的"中央服务器",甚至局域网的另外一台电脑也可以充当&q ...

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

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

  6. 使用Visual Studio Team Services敏捷规划和项目组合管理(五)——组合管理

    使用Visual Studio Team Services敏捷规划和项目组合管理(五)--组合管理 组合待办事项为产品所有者提供关于几个敏捷特性团队工作的洞察.产品所有者可以将高优先级的目标定义为Ep ...

  7. asp.net core 发布到 docker 容器时文件体积过大及服务端口的配置疑问

    在 asp.net core 发布时,本人先后产生了3个疑问. 1.发布的程序为什么不能在docker容器中运行 当时在window开发环境中发布后,dotnet xxx.dll可以正常运行:但放入d ...

  8. 修改Windows默认远程端口号

    1.定位注册表,[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp],右侧修改 ...

  9. 搭建windows测试环境的步骤

     步骤:1.JDK安装 2.配置好JDK环境变量3.Tomcat安装4.将war包放在Tomcat的发布目录中webapps中,5.conf>server.xml里面设置默认解压,unpackW ...

  10. JavaScript -- 时光流逝(六):js中的正则表达式 -- RegExp 对象

    JavaScript -- 知识点回顾篇(六):js中的正则表达式 -- RegExp 对象 1. js正则表达式匹配字符之含义      查找以八进制数 规定的字符.     查找以十六进制数 规定 ...