YAML基础语法
YAML最基本的使用格式:
YAML中允许表示三种格式,分别是常量值,对象和数组
如:
表示url属性值;
url: http://www.baidu.com
表示server.host属性的值;
server:
host: http://www.baidu.com
数组,即表示server为[a,b,c]
server:
- 192.168.2.163
- 192.168.2.164
- 192.168.2.165
常量
pi: 3.14 #定义一个数值3.14
hasChild: true #定义一个boolean值
name: '你好YAML' #定义一个字符串
注释
和properties相同,使用#作为注释,YAML中只有行注释。
基本格式要求
1,YAML大小写敏感;
2,使用缩进代表层级关系;
3,缩进只能使用空格,不能使用TAB,不要求空格个数,只需要相同层级左对齐(一般2个或4个空格)
对象
使用冒号代表,格式为key: value。冒号后面要加一个空格:
key: value
可以使用缩进表示层级关系;
key:
child-key: value
child-key2: value2
YAML中还支持流式(flow)语法表示对象,比如:
key: {child-key: value, child-key2: value2}
较为复杂的对象格式,可以使用问号加一个空格代表一个复杂的key,配合一个冒号加一个空格代表一个value:
? - complexkey1
- complexkey2
:
- complexvalue1
- complexvalue2
意思即对象的属性是一个数组[complexkey1,complexkey2],对应的值也是一个数组[complexvalue1,complexvalue2]
数组
使用一个短横线加一个空格代表一个数组项:
hobby:
- Java
- Python
下面写法也可:
- - Java
- Python
可以简单理解为:[[Java,LOL]]
复杂的例子:
companies:
-
id: 1
name; ss
price: 200W
-
id: 2
name; cc
price: 300W
意思是companies属性是一个数组,每一个数组元素又是由id,name,price三个属性构成;
数组也可以使用流式(flow)的方式表示:
companies: [{id: 1,name: company1,price: 200W},{id: 2,name: company2,price: 300W}]
常量
YAML中提供了多种常量结构,包括:整数,浮点数,字符串,NULL,日期,布尔,时间。下面使用一个例子来快速了解常量的基本使用:
boolean:
- TRUE #true,True都可以
- FALSE #false,False都可以
float:
- 3.14
- 6.8523015e+5 #可以使用科学计数法
int:
- 123
- 0b1010_0111_0100_1010_1110 #二进制表示
null:
nodeName: 'node'
parent: ~ #使用~表示null
string:
- 哈哈
- 'Hello world' #可以使用双引号或者单引号包裹特殊字符
- newline
newline2 #字符串可以拆成多行,每一行会被转化成一个空格
date:
- 2020-09-27 #日期必须使用ISO 8601格式,即yyyy-MM-dd
datetime:
- 2020-09-27T15:02:31+08:00 #时间使用ISO 8601格式,时间和日期之间使用T连接,最后使用+代表时区
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现