一文看懂 YAML

本文旨在提供一个简洁易懂的 YAML 入门教程,对比 JSON,介绍 YAML 的基本语法,如大小写敏感、缩进表示层级,以及对象、数组和标量等数据结构。通过实例解析 YAML 的使用方式,帮助读者快速掌握这一配置文件语言。
摘要由CSDN通过智能技术生成

前言

YAML 并不是一种新奇的语言,YAML 首次发表于 2001 年,距离现在已经过去差不多 20 个年头。YAML 虽然不如 JSON、XML 之类的语言流行,应用也没有那么广泛,但是 YAML 也有它的优势。

互联网上的关于 YAML 的文章虽然不多,但也足以让人了解这一款语言,那我为什么还要写这一片入门文章呢?

我认为现有的文章有以下几点不足:

  • 内容碎片化,阅读起来不够流畅
  • 讲解较为生硬,阅读起来比较费劲
  • 缺少对比,难以让人快速理解

所以本篇文章的主要目的就是让读者能够快速并准确地了解这款语言,事不宜迟,让我们开始吧!

为了帮助理解,我将在文中穿插相对应的 JSON 格式的内容作为对比。

可能是东半球最通俗易懂的 YAML 中文讲解之一(手动狗头)


简介

YAML 是一种较为人性化的数据序列化语言,可以配合目前大多数编程语言使用。

YAML 的语法比较简洁直观,特点是使用空格来表达层次结构,其最大优势在于数据结构方面的表达,所以 YAML 更多应用于编写配置文件,其文件一般以 .yml 为后缀。

YAML 目前的官方全称为 “YAML Ain’t Markup Language(YAML 不是标记语言)”,但有意思的是,其实 YAML 最初的含义是 “Yet Another Markup Language(还是一种标记语言)”。

目前 YAML 的最新版本为 1.2(第三个版本),本文将以 YAML 1.2 的标准进行讲解。


正文

基本语法

大小写敏感

  • 就是字面上的意思
One: 1
one: 2

用缩进表示层级关系

  • 缩进只能使用空格,不能用 TAB 字符
  • 缩进的空格数量不重要,但是同一层级的元素左侧必须对齐
# YAML
one:
  two: 2
  three:
    four: 4
    five: 5

// 以上的内容转成 JSON 后
"one": {
   
  "two": 2,
  "three": {
   
    "four": 4,
    "five": 5 
  }
}

用 # 表示注释

  • 只支持单行注释
# 我是注释
# 我也是注释

一个文件中可以包含多个文件的内容

  • 用“ ”即三个破折号表示一份内容的开始
  • 用“ ”即三个小数点表示一份内容的结束(非必需)
---
# 这是第一份内容
one: 1
# 其他内容...
...

---
# 这是第二份内容
two: 2
# 其他内容...

数据结构与类型

对象(Mapping)

表示以键值对(key: value)形式出现的数据

使用“冒号+空格”来分开

# YAML
key: value

// JSON
"key": "value"

支持多层嵌套(用缩进表示层级关系

# YAML
key:
  child-key1: value1
  child-key2: value2

// JSON
"key": {
   
  "child-key1": "value1",
  "child-key2": "value2",
}

支持**流式风格( Flow style)**的语法(用花括号包裹,用逗号加空格分隔,类似 JSON)


                
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值