YAML语法记录

本文详细介绍了YAML的基本语法,包括结构、层级、多行字符串、数组、特殊字符、锚点和别名,以及进阶特性如复合结构、标签、流式集合和合并键。同时涵盖了YAML在前端开发中的应用场景和使用注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


我在忙碌的技术生涯之余偶然踏入了命理的奇妙领域。原本只是好奇,没想到深入研究后,发现八字命理推算蕴含着巨大的智慧与实用价值。通过八字分析,能从一个独特的角度洞察自身性格、事业发展趋势、感情走向等诸多方面,为生活提供不少有价值的指引。如今,我也在生活中给人批八字,想了解自己的运势走向,或者在生活中遇到了困惑,无论是事业抉择、感情难题,都欢迎来找我, W_X:whr2349,借助古老的智慧,为现代生活找到更多方向与答案 。

YAML语法记录

记录一下yaml的语法,方便以后查找,前端领域用yaml相对来说少一点,一旦用忘了语法很难受,特此记录。

一、YAML简介

YAML(Yet Another Markup Language)是一种直观的、可读性高并且容易被人类阅读和理解的数据序列化格式。它常用于配置文件,但也可以用于数据存储、传输等其他场景。YAML的设计目标包括易读性、与脚本语言的交互性好等。

二、YAML基本语法

1. 基本结构

YAML文件由键值对组成,键和值之间用冒号:分隔,冒号后面要加一个空格。

key: value

2. 层级关系

YAML使用缩进来表示层级关系,通常使用两个空格进行缩进。注意,不能使用制表符(Tab)进行缩进,因为不同的系统对制表符的宽度解释可能不同。

parent:
  child1: value1
  child2: value2

3. 多行字符串

使用|可以保留字符串中的换行符,>则会将换行符替换为一个空格。

key1: |
  line1
  line2
key2: >
  line1
  line2

4. 数组

使用-可以表示数组或列表。

fruits:
  - apple
  - banana
  - cherry

5. 特殊字符

如果值中包含特殊字符,可以使用引号(单引号或双引号)将其括起来。双引号内的特殊字符会被转义,单引号内的则不会。

key1: "value with \"special\" characters"
key2: 'value with ''special'' characters'

6. 锚点和别名

YAML支持使用锚点(&)和别名(*)来复用数据。

defaults: &defaults
  adapter: postgres
  host: localhost

development:
  database: dev
  <<: *defaults

test:
  database: test
  <<: *defaults

三、YAML进阶语法

1. 复合结构

YAML支持将数组和对象嵌套使用,构建更复杂的数据结构。

users:
  - id: 1
    name: Alice
    emails:
      - alice@example.com
      - alice.work@example.com
  - id: 2
    name: Bob
    emails:
      - bob@example.com

2. 标签

YAML支持使用标签来指定数据的类型。例如,使用!!str可以显式地将值指定为字符串类型,使用!!int可以将其指定为整数类型。

explicit_string: !!str 123
explicit_integer: !!int "123"

3. 流式集合

YAML支持使用流式集合语法来表示数组或列表,这在某些情况下可以使语法更简洁。

fruits: [apple, banana, cherry]

4. 合并键

YAML的合并键(<<)允许你将一个映射的内容合并到另一个映射中。这在配置文件中特别有用,可以避免重复配置。

defaults: &defaults
  color: red
  size: large

item1:
  name: ball
  <<: *defaults

item2:
  name: shirt
  <<: *defaults

四、YAML使用注意事项

  1. 避免使用制表符

如前所述,YAML文件应使用空格进行缩进,避免使用制表符,以免因系统差异导致解析错误。

  1. 注意冒号后的空格

YAML语法中,冒号后面必须跟一个空格,否则会导致解析错误。

  1. 字符串引号的一致性

如果字符串值中包含引号,应确保使用的引号类型一致,或者使用转义字符。

  1. 锚点和别名的使用

锚点和别名是YAML中的高级特性,可以使数据复用更加简洁。但是,过度使用可能会使文件变得难以阅读和理解,因此应适度使用。

五、YAML工具

  1. YAML解析器

有许多语言和库提供了YAML解析器,可以将YAML文件解析为相应的数据结构。例如,Python中的PyYAML库和JavaScript中的js-yaml库。

  1. YAML格式化工具

YAML格式化工具可以帮助你格式化YAML文件,使其更加易读和美观。一些集成开发环境(IDE)和代码编辑器(如VS Code)提供了内置的YAML格式化支持。

  1. YAML验证工具

YAML验证工具可以帮助你检查YAML文件的语法是否正确。这对于排查因语法错误导致的问题非常有用。

六、YAML在前端开发中的应用

YAML在前端开发中的应用主要体现在配置文件和静态数据上。例如,一些前端项目使用YAML格式的配置文件来管理项目的配置信息,如环境变量、构建选项等。此外,YAML还可以用作静态数据源,通过解析YAML文件来生成页面内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

球球不吃虾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值