百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

YAML语法规则

liuian 2025-02-09 13:14 36 浏览

YAML是一个可读性高,用来表达数据序列化的格式。其基本的语法规则是:

  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进时不允许使用Tab键,只允许使用空格。
  • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
  • 编辑器:

(1)建议使用能将跳格字符自动转换成空白字符的编辑器,并且使用定宽度的字体。

(2)编辑器要能正确的处理UTF-8和UTF16编码

标量定义

字符串

字符串可以用单引号或者双引号进行包裹起来,在有些情况下也可以不用引号。

A string in YAML
'A singled-quoted string in YAML'
"A double-quoted string in YAML"

如果字符串的首部或者尾部有空白字符,那么必须使用引号,否则在解析文件的时候会将首部和尾部的空白字符移除。

如果在字符串中包含下面的字符,必须要使用引号,如果你使用单引号的话可以避免转义,如果使用双引号那么在下面的字符前面必须使用转义字符“\”:

:, {, }, [, ], ,, &, *, #, ?, |, -, <, >, =, !, %, @, `

如果在字符串中包含了如下的控制字符,必须要使用双引号

\0, \x01, \x02, \x03, \x04, \x05, \x06, \a, \b, \t, \n, \v, \f, \r, \x0e, \x0f, \x10, \x11, \x12, \x13, \x14, \x15, \x16,\x17, \x18, \x19, \x1a, \e, \x1c, \x1d, \x1e, \x1f, \N, \_, \L, \P

此外,在下面这几种情况下也必须使用引号进行包裹:

  • 当字符串是 true 或者 false (否则的话,会被认为是一个布尔值);
  • 当字符串是 null或者 ~ (否则的话,会被认为是一个null);
  • 当字符串像一个数字,比如整数(2,4)、浮点数(2.6,12.3)、科学计数(12e7)等等可以被看作是数字的字符串;
  • 当字符串看起来像一个日期格式(2014-12-31);

如果想通过多行编写的方式来定义一个字符串,那么可以使用“>”,换行符会被替换为1个空格字符。

>
This is a very long sentence
that spans several lines
in the YAML
but
which will be rendered as a string
without carriage returns.

每行前面使用2个空格字符表明继续使用前一种定义语法,并且不会出现在最终的字符串中。

数字

# 整数
12

# 八进制
014

# 十六进制
0x0C

# 浮点数
13.4

# 科学计数法
1.2e+34

# 无穷大
.inf

空值

null或者~

布尔值

true和false

日期

使用ISO-8601标准

2001-12-14t21:59:43.10-05:00
# 简单的日期
2002-12-14

集合

使用间断字符“-”来定义元素序列

- PHP
- Perl
- Python

相当于Python中的

['PHP', 'Perl', 'Python']

键值对的表示方式:

PHP: 5.2
MySQL: 5.1
Apache: 2.2.20

相当于python中的

{'PHP':5.2, 'MySQL':5.1, 'Apache':'2.2.20'}

YAML中使用缩进或者更多的空格字符来表示嵌套的数据结构,比如下面:

'symfony 1.0':
Pro: 5.0
Propel: 1.2
'symfony 1.2':
Pro: 5.2
Propel: 1.3

相当于json中:

{
'symfony 1.0':{
'Pro': 5.0,
'Propel':1.2
},
'symfony 1.2':{
'Pro':5.2,
'Propel':1.3
}
}

注意:缩进必须使用1个或者更多的空格字符,而不能使用制表符。你也可以使用下面这种嵌套方式:

'Chapter 1':
- Introduction
- Event Types
'Chapter 2':
- Introduction
- Helpers

序列的定义也可是使用下面的方式:

[PHP, Perl, Python]

嵌套数组的定义也可以使用下面的方式:

{ PHP: 5.2, MySQL: 5.1, Apache: 2.2.20 }

你也可以混合搭配着使用,以提高代码的可读性:

'Chapter 1': [Introduction, Event Types]
'Chapter 2': [Introduction, Helpers]
'symfony 1.0': { PHP: 5.0, Propel: 1.2 }
'symfony 1.2': { PHP: 5.2, Propel: 1.3 }

注释

YAML采用行注释,使用“#”

# 注释一行
"symfony 1.0": { PHP: 5.0, Propel: 1.2 } # 在行尾进行注释
"symfony 1.2": { PHP: 5.2, Propel: 1.3 }



————————————————

看完记得点赞转发关注哦

相关推荐

联想电脑官网价格(联想电脑官网价格表)

这两个价格都比较高,官网标的指导价,实体店运行成本高,都是联想的代理商,非联想自营。建议先去实体店体验,再在主流电商参考价格。联想官网入口是:http://www.lenovo.com.cn/  联...

复制到u盘的文件不见了(复制在u盘的内容不见了怎么回事)

U盘里的文件如果不见了,可以先检查一下自己的电脑是不是中毒了。检查的方法很简单,直接进行扫描就行了,如果有病毒一般会显示出来的,进行查杀,查杀完了之后进行重启电脑,然后再读取U盘,一般文件就会显示出...

qq对战平台官方版(qq对战平台什么时候开放)

在我的电脑文件夹里面先打开War进游戏,然后退出,再用腾讯对战平台打开就可以打开了,不用谢我啦,祝各位玩的愉快啦,睡觉去了~~~~~~~~顺便说下,我的ID是九尾人柱力,玩的可以加我首先安装IPX协...

tp link路由器手机设置教程(tp-link路由手机设置)
  • tp link路由器手机设置教程(tp-link路由手机设置)
  • tp link路由器手机设置教程(tp-link路由手机设置)
  • tp link路由器手机设置教程(tp-link路由手机设置)
  • tp link路由器手机设置教程(tp-link路由手机设置)
破解qq空间(破解qq空间访问权限的软件)

空间设置了访问权限,所以不是好友,或是不知道问题密码的人,是进不去的!没有可以强行进入的方法,因为涉及他人隐私问题,除非本人对你开放。一般限制访问QQ空间访问权限会有三种情况:1、仅自己。2、QQ...

手机怎么把qq空间关了(手机qq空间怎么关掉)
  • 手机怎么把qq空间关了(手机qq空间怎么关掉)
  • 手机怎么把qq空间关了(手机qq空间怎么关掉)
  • 手机怎么把qq空间关了(手机qq空间怎么关掉)
  • 手机怎么把qq空间关了(手机qq空间怎么关掉)
联想win7原版(联想正版win7原版)

要还原联想笔记本自带的Win7系统,首先需要进入电脑的BIOS界面,将启动项设置为光驱或U盘。然后将联想笔记本自带的恢复盘或安装盘插入电脑,并重启电脑。接着按照提示进行操作,选择还原系统选项,等待系统...

bonjour软件有用吗(bonbon是啥软件)

1.bonjour软件是苹果公司在其开发的操作系统MacOSX10.2版本之后引入的服务器搜索协议所使用的一个商标名。2.安装了类似的itunes的软件以后,电脑上就会出现Bonjour软件...

笔记本电脑开机蓝屏无字(笔记本屏幕蓝屏什么字也没有)

初步怀疑是电脑温度过高导致的问题。出现蓝屏毛病的原因很多:1、电脑蓝屏是由于病毒破坏系统文件,导致系统故障进而出现蓝屏。2、电脑超频过度引起电脑蓝屏,这也可能涉及到下面的温度过高引起的蓝屏。3、内存条...

文件格式转换器免费版(文件格式转换器免费版下载安装)

一般来说,使用全能格式转换器转换文件的步骤大致如下:1.打开全能格式转换器,并点击“添加文件”按钮,选择您要转换的文件。2.在“输出格式”选项中,选择您想要将文件转换成的格式。3.如果需要,您可...

口碑最好的随身wifi品牌(随身wifi十大排名)

哪个牌子最好用性价比最高一目了然!格行设备价格:69/99/109/139/168(性价比高)芯片:进口马维尔芯片套餐:双网设备,套餐价格一致,随用随充续航:3000毫安18小时左右 33...

新买的台式电脑没声音(新买的台式机没有声音)

解决方法如下:1、查看主板的声卡驱动装没装上。2、驱动装好了,在右下角的小喇叭有没有,如果有,鼠标放在上面,右击就会看到声音的各种设置,如果没看到小喇叭,进入设备管理器看一下声音的硬件上是否有黄色标记...

dlink路由器设置密码步骤(dlink路由器设置教程)
  • dlink路由器设置密码步骤(dlink路由器设置教程)
  • dlink路由器设置密码步骤(dlink路由器设置教程)
  • dlink路由器设置密码步骤(dlink路由器设置教程)
  • dlink路由器设置密码步骤(dlink路由器设置教程)
三星笔记本u盘启动快捷键(三星笔记本u盘启动设置)

开机出现“SAMSUNG”画面时按F2进入BIOS设置,找到【Advanced】选项下,将快速启动“FastBIOSMode”项选为“Off”2.按F10键保存退出并重启,插入U盘,再次按F2键进入B...

普联无线路由器设置(普联路由器上网设置)

关于这个问题,以下是普联无线路由器的设置步骤:1.首先,将您的普联无线路由器与电脑或笔记本电脑连接。2.打开您的浏览器,输入路由器的IP地址(通常为192.168.1.1或192.168...