写在前面
校验工具
可以使用YAML与JSON的转换工具来校验YAML是否正确。
YAML与JSON的转换工具
什么是YAML
YAML是"Yet Another Markup Language"(另一种标记语言)的缩写,后来将其重命名成了"YAML Ain‘t Markup Language"(YAML 不止是标记语言),以更加强调其面向数据的特性。YMAL以 k: v 的形式来表示键值对的关系。
注意事项
(1)冒号后面要带上空格
(2)使用缩进表示不同的层级,不能使用TAB键,使用的多少空格进行缩进没有关系
(3)同一级的属性KEY要对齐
(4)区分大小写
(5)注释使用 #
(6)字符串可以不用双引号
常用语法
servicex:
version: 3.0.0 # 用#表示注释
# 数组可以写成一行
modules: ["网关服务", "系统服务", "公共组件"]
# 数组可以写成多行
language:
- JAVA
- SHELL
# &用于建立锚点,*用于引用锚点, <<表示合并到当前数据
db: &db
- MySQL
- Mongodb
- PostgreSQL
next: &next
three: 3
four: 4
five: 5
count:
one: 1
two: 2
<<: *next
# 复杂对象
authors:
# MAP可以写成一行
- DORIS:
sex: 女
age: 18
# MAP可以写成多行
- ROCKY: {sex: 男, age: 30}
# 对象数组
users:
-
name: Lily
age: 18
-
name: Lucy
age: 18
yaml:
# 整数可以用十进制、十六进制或八进制表示,Ox表示十六进制,前导零表示八进制值
# 转换成JSON后,整数都用十进制表示
int:
10进制: 1234
16进制: 0x12d4
08进制: 023332
double:
double1: 1230.15
double2: 12.3015e+05
# 用波浪号~或者不带引号的null,表示空值
null:
null1: ~
null2: null
# BOOLEAN值TRUE/FALSE: 全大写、全小写、首字母大写都转为全小写
boolean:
t1: true
t2: on
t3: yes
t4: True
t5: TRUE
f1: false
f2: off
f3: no
f4: False
f5: FALSE
# 大文本 >,会解析成一行; | 会解析成多行。
description: >
这是一个基于SpringCloud的应用管理系统,
主要用于学习和测试!
stack:
framework:
# &用于建立锚点,*用于引用锚点
- &ROCKY Spring Boot
- Spring Cloud
- Element
- VUE
- *ROCKY
# *用于引用锚点
db: *db