1. YAML 简介
YAML(Yet Another Markup Language)是一种常用的数据序列化格式,它的全名是“YAML Ain’t Markup Language”的递归缩写,意为“YAML 不是一种标记语言”。YAML 以数据为中心,使用空白、缩进、换行等字符来表示数据的层次和结构,比 XML 和 JSON 更易读、易写。
YAML 常被用于配置文件、数据交换、Web 服务等领域。
2. YAML 基本语法
2.1 数据块
YAML 的数据通过缩进来表示层次结构,通常使用空格(不建议使用制表符)进行缩进,并且缩进长度要一致。缩进通常使用 2 或 4 个空格。
# 这是一个数据块示例
parent:
child1: value1
child2: value2
2.2 键值对
YAML 中的数据以键值对的形式组织,冒号 :
后面跟一个空格表示值。
key1: value1
key2: value2
2.3 列表
使用短横线 -
和空格表示列表项。
- item1
- item2
- item3
2.4 嵌套列表和映射
列表和映射(键值对)可以相互嵌套。
users:
- name: Alice
age: 25
hobbies:
- reading
- swimming
- name: Bob
age: 30
hobbies:
- hiking
- cooking
2.5 字符串
YAML 中的字符串可以直接书写,如果包含特殊字符,如冒号 :
、引号 "
、换行等,则需要使用引号括起来。
plain_string: This is a plain string.
quoted_string: "This is a quoted string with special characters: colon(:) and newline(\n)."
YAML 支持多行字符串,使用 |
或 >
符号,其中 |
保留换行符,>
折叠换行符。
literal_block: |
This is a literal block.
It will keep the newlines.
folded_block: >
This is a folded block.
It will fold the newlines into a single space.
2.6 数值
YAML 支持整数和浮点数。
integer: 123
float: 3.14
2.7 布尔值
YAML 中的布尔值可以用 true
或 false
表示。
is_active: true
is_disabled: false
2.8 空值
YAML 使用 ~
表示空值(或 null 值)。
empty_value: ~
2.9 注释
YAML 中的注释以井号 #
开头,直到行尾。
# 这是一个注释
key: value # 这也是一个注释
3. 注意事项
- YAML 对缩进非常敏感,同一层次结构的缩进长度必须一致。
- 避免使用制表符(Tab)进行缩进,以免解析出错。
- 字符串中的冒号和特殊字符需要用引号括起来。
- 列表和映射可以相互嵌套,形成复杂的数据结构。
4. 总结
本章介绍了 YAML 的基本概念和基本语法,包括数据块、键值对、列表、嵌套列表和映射、字符串、数值、布尔值、空值和注释等。通过掌握这些基础知识,你可以开始编写简单的 YAML 文件了。在后续章节中,我们将进一步探讨 YAML 的高级用法和实际应用。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容