东行天下

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
统计
 

可以在一个YAML文件中包含多个YAML文档,每个文档之间的分隔都用三个破折号(---)标记

空格缩进,大小写敏感

数据结构:

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

1 name: Tom 
2 age: 18  
3 4 一行写法   hash: { name: Steve, age: 18 }

 

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

2     - Cat
3     - Dog
4     - Pig
5 行内写法 6 animal: [Cat, Dog, Pig]

3.纯量: 单个的、不可再分的值

复制代码

3.1 数值直接以字面量的形式表示
number: 12.30

3.2 布尔值以true 和false 来表示
isSet: true

3.3 null用 ~ 表示
parent: ~

3.4 时间用 ISO8601 格式
iso8601: 2001-12-14t21:59:43.10-05:00

3.5 日期采用复合 ISO8601 格式的年、月、日表示
date: 1976-12-20

3.6 YAML 允许使用两个感叹号,强制转换数据类型
e: !!str 123
f: !!str true

复制代码

 4.字符串(字符串默认不适用引号表示)

复制代码
4.1 str : 这是一行字符串

4.2 单引号和双引号都可以使用,单引号不会对特殊字符进行转义。
s1: '内容\n字符串'
s2: "内容\n字符串"

  转为JavaScript { s1: '内容\\n字符串', s2: '内容\n字符串'}

 

4.3 字符串可以写成多行,从第二行开始,必须有一个单空格缩进。换行符会被转为空格。
str: 这是一段
 多行
 字符串

     转为JavaScript { str: '这是一段 多行 字符串'}

 

4.4 多行字符串可以采用 | 保留换行符,也可以使用 > 折叠换行。
this: |
Foo
Bar
that: >
Foo
Bar

转为JavaScript  { this: 'Foo\nBar\n', that:'Foo Bar\n' }

复制代码

 5.引用

锚点 & 和别名 * , 可以用来引用

复制代码

defaults: &defaults
  adapter: postgres
  host: localhost
development:
  database: myapp_development,
  <<: *defaults
test:
  database: myapp_test,
  <<: *defaults
相当于
defaults:
  adapter: postgres
  host: localhost
development:
  database: myapp_development,
  adapter: postgres
  host: localhost
test:
  database: myapp_test,
  adapter: postgres
  host: localhost
&用来建立锚点(defaults),<<表示合并到当前数据,*用来引用锚点。

下面另外一个例子

- &showell Steve
- Clark
- Brian
- Oren
- *showell
转为JavaScript
[ 'Steve', 'Clark', 'Brian', 'Oren', 'Steve' ]

复制代码

 

posted on   东行天下  阅读(69)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· Qt个人项目总结 —— MySQL数据库查询与断言
 
点击右上角即可分享
微信分享提示