码迷,mamicode.com
首页 > 其他好文 > 详细

yaml 使用规则/ 规范

时间:2020-08-02 12:45:31      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:自定义   特殊字符   编码   固定   形式   支持   gre   cto   line   

yaml使用语法规则:

1.区分大小写

2.使用缩进表示层级关系

3.不允许使用 TAB 键来缩进,只能用空格

4.缩进空格具体数量不用太注重,相同层级的元素左侧对齐即可

5.使用 # 来表示注释

 

支持使用的结构体:

1.键值对象:键值对的集合,又称映射 (mapping) / 哈希(hashes)/ 字典(dictionary)

2.数组: 一组按次序排列的值,又称序列 (sequence) / 列表 (list)

3.纯量 (scalars) :单个的,不可再分的值。常见的纯量: 字符串、布尔值、整数、浮点数、null、时间、日期

 

编写规范:

1、文档使用 Unicode 编码作为字符标准编码,例如utf-8
2、使用#表示注释
3、使用空格作为嵌套缩进,一般建议使用2个空格来缩进使用
4、在数组中(序列 / 列表)使用: 4.1使用- (横线) + 单个空格:表示单个列表项 --- #开始 - one - two
4.2使用[ ]:表示一组数据 --- #开始 [username , password]
4.3组合表示 (每个结构都可嵌套成复杂的结构) --- #开始 - [username , password] # 列表项本身也是一个列表 - [Age , sex] - site: { blogs:www.cnblogs.com , baidu: www.baidu.com } # 这里是组合表示 5、在键值对象中使用: 5.1使用:(冒号)+单个空格: 表示单个键值对 --- #开始 date: 2020-07-22 customer: - name: qika items: - no: 123456
5.2使用{ }:表示一个键值表 --- #开始 date: 2020-07-22 customer: - name: qika items: {no: 123456, descript: mobilephone, price: ¥800.00}
5.3使用"? " (问号)+空格:表示复杂的键。 当键是一个列表或键值表时,就需要使用本符号来标记 # 使用一个列表作为键 ? [blue, reg, green]: Color
5.4组合表示:嵌套使用复杂结构体 Color: - blue - red - green # 相当于 (也是 JSON 的表示) {Color: [blue, red, green]} div: - border: {color: red, width: 2px} - background: {color: green} - padding: [0, 10px, 0, 10px] # 使用缩进表示的键值表与列表项 items: - item: cpu model: i3 price: ¥800.00 - item: HD model: WD price: ¥450.00 # 使用 “-” 来表示多个列表项,相当于JSON格式: items: [{item:cpu, model:i3, price:¥800.00}, {item:HD, model:WD, price: ¥450.00}] 6、结合文本使用: 6.1、使用 “|” 和文本内容缩进表示的块:保留块中已有的回车换行。相当于段落块 # 注意 ":" 与 "|" 之间的空格 yaml: | JSON的语法其实是YAML的子集,大部分的JSON文件都可以被YAML的解释器解释。
6.2、使用 “>” 和文本内容缩进表示的块:将块中回车替换为空格,最终连接成一行 # 注意 ":" 与 ">" 之间的空格,另外可以使用空行来分段落 yaml: > JSON的语法其实是YAML的子集, 大部分的JSON文件都可以被YAML的解释器解释。
6.3、使用定界符“”(双引号)、‘’(单引号)或回车表示的块:最终表示成一行 yaml: # 使用回车的多行,最终连接成一行。 JSON的语法其实是YAML的子集, 大部分的JSON文件都可以被YAML的解释器解释。 如: yaml: # 使用了双引号,双引号的好处是可以转义,即在里面可以使用特殊符号 "JSON的语法其实是YAML的子集, 大部分的JSON文件都可以被YAML的解释器解释。"
6.4、当数据中含有空格或任意特殊字符,需要使用引号来包裹任何包含冒号的哈希值, 像这样:foo: "someone: ilikeit" # 然后这个冒号将会被结尾. 7、数据类型约定显示 7.1常用数据类型表示 integer: 12345 # 整数标准形式 octal: 0o34 # 八进制表示,第二个是字母 o hex: 0xFF # 十六进制表示 float: 1.23e+3 # 浮点数 fixed: 13.67 # 固定小数 minmin: -.inf # 表示负无穷 notNumber: .NaN # 无效数字 null: # 空值 boolean: [true, false] # 布尔值 string: ‘12345‘ # 字符串 date: 2015-08-23 # 日期 datetime: 2015-08-23T02:02:00.1z # 日期时间 iso8601: 2015-08-23t21:59:43.10-05:00 # iso8601 日期格式 spaced: 2015-08-23 21:59:43.10 -5 # ? 7.2“!”(叹号)显式指示类型,或自定义类型标识。单叹号通常是自定义类型,双叹号是内置类型 isString: !!str 2015-08-23 # 强调是字符串不是日期数据 picture: !!binary | # Base64 图片 R0lGODlhDAAMAIQAAP//9/X 17unp5WZmZgAAAOfn515eXv Pz7Y6OjuDg4J+fn5OTk6enp 56enmleECcgggoBADs= #下面是内置类型 !!int # 整数类型 !!float # 浮点类型 !!bool # 布尔类型 !!str # 字符串类型 !!binary # 也是字符串类型 !!timestamp # 日期时间类型 !!null # 空值 !!set # 集合 !!omap, !!pairs # 键值列表或对象列表 !!seq # 序列,也是列表 !!map # 键值表 #下面是一些例子: --- !!omap - Mark: 65 - Sammy: 63 - Key: 58 --- !!set # 注意,“?”表示键为列表,在这里列表为 null ? Mark ? Sammy ? Key # 下面是自定义的类型或标识 %TAG ! tag:clarkevans.com,2002: # % 是指令符号 --- !shape # Use the ! handle for presenting # tag:clarkevans.com,2002:circle - !circle center:
&ORIGIN {x: 73, y: 129} radius: 7 - !line start: *ORIGIN finish: { x: 89, y: 102 } - !label start: *ORIGIN color: 0xFFEEBB text: Pretty vector drawing.

 

yaml 使用规则/ 规范

标签:自定义   特殊字符   编码   固定   形式   支持   gre   cto   line   

原文地址:https://www.cnblogs.com/QiKa/p/13418203.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!