YAML 教程 – 第一章:YAML 基础

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
喜欢就支持一下吧
点赞11 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容