YAML – 简介
YAML - 简介
Section titled “YAML - 简介”YAML(递归缩写,意为“YAML Ain’t Markup Language”,即“YAML 不是标记语言”)是一种人类可读的数据序列化标准。它被设计成直观易懂,方便人类读写,并且可以与各种编程语言无缝协作。YAML 常用于配置文件、不同语言之间的数据交换以及对象持久化。本章节将向您介绍 YAML 及其核心特性。
YAML 使用三种基本形式表示数据:映射(key-value pairs,键值对)、序列(sequences,列表/数组)和标量(scalars,字符串、数字、布尔值)。缩进(使用空格,而非制表符 tabs)对于定义结构至关重要。
考虑一个简单的键值对:
name: John Doe这表示一个映射,其中键 ‘name’ 与字符串值 ‘John Doe’ 关联。
我们来看看如何在 YAML 中表示不同的数据类型:
一个浮点数:
# YAML representation of Pipi: 3.1415926536当被 YAML 解析器解析时,与 ‘pi’ 关联的值将被解释为浮点数。
一个序列(列表):
groceries: - eggs - ham - spam - bread此 YAML 表示一个键 ‘groceries’,其值是字符串列表。YAML 解析器通常会将其转换为目标编程语言中的数组或列表数据结构,例如在 Python 中:
# Conceptual Python representation after parsing# {'groceries': ['eggs', 'ham', 'spam', 'bread']}YAML 的设计提供了多个优势:
- 人类可读性:简洁的语法使 YAML 文件易于阅读和理解。
- 数据结构:自然映射到大多数编程语言中常见的数据结构(例如,列表、字典/映射、标量)。
- 可移植性:YAML 数据可以在不同的编程语言和系统之间轻松交换。
- 注释:支持注释(以 ’#’ 开头),以便在数据文件本身内进行更好的文档记录。
- 锚点和别名:允许使用锚点 (&) 和别名 (*) 来重用数据块,推广 DRY (Don’t Repeat Yourself,不要重复自己) 原则。
- 广泛的语言支持:Python、Ruby、Java、JavaScript、Go 和 C# 等许多流行编程语言都有用于解析和生成 YAML 的库。
- Unicode 支持:YAML 完全支持 Unicode 字符,允许国际化内容。
有关更多信息,您可以参考官方 YAML 规范:yaml.org。