YAML语法记录

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文件来生成页面内容。

相关推荐

  1. YAML语法记录

    2024-01-26 14:34:03       56 阅读
  2. Ansible的YAML语法

    2024-01-26 14:34:03       60 阅读
  3. Yaml语法解析

    2024-01-26 14:34:03       76 阅读
  4. yaml工作常用语法总结

    2024-01-26 14:34:03       49 阅读
  5. k8s Yaml语法解析

    2024-01-26 14:34:03       37 阅读
  6. 【docker】docker-compose.yml 语法详解

    2024-01-26 14:34:03       49 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-26 14:34:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-26 14:34:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-26 14:34:03       82 阅读
  4. Python语言-面向对象

    2024-01-26 14:34:03       91 阅读

热门阅读

  1. 关于SQLite 的下载与使用。配合python

    2024-01-26 14:34:03       60 阅读
  2. mysql面试题合集-分布式

    2024-01-26 14:34:03       54 阅读
  3. 玩转浏览器开发者工具

    2024-01-26 14:34:03       53 阅读
  4. shallowRef与shallowReactive

    2024-01-26 14:34:03       48 阅读
  5. IEC60870-5-104规约

    2024-01-26 14:34:03       48 阅读
  6. npm更换镜像

    2024-01-26 14:34:03       51 阅读
  7. Kotlin协程 SharingStarted

    2024-01-26 14:34:03       57 阅读