📅  最后修改于: 2023-12-03 15:21:20.102000             🧑  作者: Mango
YAML是一个有人性的数据序列化语言,使用文本文件尽可能地表述数据的结构。它的主要作用是作为配置文件或用于数据传输。YAML不是一种编程语言,它是一种数据记号语言。
YAML数据可以被表示为“键-值对”的方式,因此非常适合在应用程序中使用。通过此类数据,可以轻松地实现功能和交互,并在应用程序的不同部分之间进行交换。
YAML的语法规则非常简单和易懂。它使用缩进和空格来表示各种结构。
基本值类型
YAML 支持以下数据类型: 字符串, 数字(整数和浮点数), 布尔值, null值。
string: "hello world"
int: 22
float: 3.14
boolean: true
null_value: null
数组
数组表示为用连字符:-作为前缀的序列。下面是一个简单的例子。
fruits:
- Apple
- Orange
- Banana
对象
对象使用冒号: 和缩进的方式表示。一个简单的键值对表示为key: value 格式的表示,key 和 value 之间必须有一个空格。
person:
name: John Doe
age: 26
occupation: Developer
多行字符串
YAML也支持用多行表示字符串的方式,可以使用“|”和“>”表示。用竖线“|”时,保留所有空格、回车和其他特殊字符;而用“>”表示时,YAML会删除首尾的空格,并将换行符替换为空格。
multiline: |
This is a
multiline
text.
multiline2: >
This is a
multiline
text.
配置文件
因为YAML的结构清晰、易读易懂,它是一个非常受欢迎的配置文件格式。一些框架(如Spring框架)使用YAML作为配置文件格式。例如:
server:
port: 8080
logging:
level:
root: WARN
com.study: DEBUG
com.study.springboot: INFO
HTTP API
YAML是JSON的一个替代品,因此可以在HTTP API中使用。通过使用YAML来替代JSON,HTTP请求变得更加可读。例如:
---
name: Mark Smith
age: 36
address:
city: Bejing
state: BJ
zip: 100010
phone:
home: (550) 555-1212
work: (550) 555-1213
mobile:
- type: ORAS
number: "514-555-1212"
- type: VLX
number: "514-555-1213"
数据传输
YAMl语法比JSON更简单,可读性更高,因此一些应用程序使用YAML来传输数据。例如:
---
data:
temperature: 20
humidity: 78
pressure: 1018.7
YAML-信息模型是一种可读性更高、结构清晰的数据序列化语言,被广泛应用于配置文件、HTTP API和数据传输。熟练掌握YAML语法规则,在实际开发中可以让我们更加高效地实现功能和交互。