YAML 语法

YAML 语法

来源:yaml

这个页面提供一个正确的 YAML 语法的基本概述, 它被用来描述一个 playbooks(我们的配置管理语言).

我们使用 YAML 是因为它像 XML 或 JSON 是一种利于人们读写的数据格式. 此外在大多数变成语言中有使用 YAML 的库.

Attention

几个语法要点很简单,然而没有分号的语法需要注意缩进规则:同一层的变量要有相同的缩进,不然会将\t或\n当做字符串。注意空格。

基本的 YAML

所有的 YAML 文件开始行都应该是 ---. 这是 YAML 格式的一部分, 表明一个文件的开始.

列表

列表中的所有成员都开始于相同的缩进级别, 并且使用一个 "- " 作为开头(一个横杠和一个空格):

---
# 一个美味水果的列表
- Apple
- Orange
- Strawberry
- Mango

注:列表对应java里的list。在使用snakeyaml解析的结果就是一个List.

字典

一个字典是由一个简单的 键: 值 的形式组成(这个冒号后面必须是一个空格):

---
# 一位职工的记录
name: Example Developer
job: Developer
skill: Elite

字典也可以使用缩进形式来表示, 如果你喜欢这样的话:

---
# 一位职工的记录
{name: Example Developer, job: Developer, skill: Elite}

你可以通过以下格式来指定一个布尔值(true/fase):

---
create_key: yes
needs_agent: no
knows_oop: True
likes_emacs: TRUE
uses_cvs: false

让我们把目前所学到的 YAML 例子组合在一起:

---
# 一位职工记录
name: Example Developer
job: Developer
skill: Elite
employed: True
foods:
    - Apple
    - Orange
    - Strawberry
    - Mango
languages:
    ruby: Elite
    python: Elite
    dotnet: Lame

官方文档:

http://www.yaml.org/spec/1.2/spec.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏QQ会员技术团队的专栏

JavaScript引擎分析

JavaScript引擎分析 一. JavaScript简介 JavaScript是一种动态类型的脚本语言;在1995年时,由Netscape公司的Brend...

2225
来自专栏开源优测

[快学Python3]基础知识

设置源文件编码 在默认情况下,Python3源码文件是以UTF-8编码进行保存的,所有的字符串都是unicode编码格式。 一般情况下,我们在源码文件第一行使用...

27713
来自专栏阮一峰的网络日志

asm.js 和 Emscripten 入门教程

Web 技术突飞猛进,但是有一个领域一直无法突破 ---- 游戏。 游戏的性能要求非常高,一些大型游戏连 PC 跑起来都很吃力,更不要提在浏览器的沙盒模型里跑了...

2835
来自专栏mwangblog

python开始

1062
来自专栏韩伟的专栏

框架设计原则和规范(完)

祝大家圣诞节快乐!有事没事别出门,外面太!挤!了! 此文是《.NET:框架设计原则、规范》的读书笔记,本文内容较多,共分九章,今天推送最后一章。 1. 什么是好...

2754
来自专栏owent

从Javascript到Typescript到Node.js

最近看了点typescript的东西,加上以前看过的一点点Node.js,所以就想把他们系统地整理一下。

952
来自专栏专注 Java 基础分享

虚拟机类加载机制

虚拟机把字节码文件从磁盘加载进内存的这个过程,我们可以粗糙的称之为「类加载」,因为「类加载」不仅仅是读取一段字节码文件那么简单,虚拟机还要进行必要的「验证」、「...

4547
来自专栏腾讯NEXT学位

JavaScript引擎分析

? 一.JavaScript简介 JavaScript是一种动态类型的脚本语言;在1995年时,由Netscape公司的Brendan Eich,在网景导航者...

1882
来自专栏IT技术精选文摘

深入浅出Java 10的实验性JIT编译器Graal

1515
来自专栏xcywt

关于delete 和 new

关于new和delete,有如下代码 // new_test.cpp #include<iostream> using namespace std; cl...

1976

扫码关注云+社区