【其他】-YAML的简单使用和语法

一、简介

YAML是一个可读性高,用来表达数据序列化的格式。

官网地址:https://yaml.org/

二、格式

1. 单行缩进

YAML可以用来描述好几行相同结构的数据的缩写语法,数组用"[]“括起来,hash使用”{}",

house:
  family: { name: Doe, parents: [John, Jane], children: [Paul, Mark, Simone] }
  address: { number: 34, street: Main Street, city: Nowheretown, zipcode: 12345 }

2. 多行缩进

数据结构也可以使用类似大纲的缩排方式呈现,结构通过缩进来表示,连续的项目通过"-“来表示,map结构里key/value对用冒号”:"来分隔

#上面数据转化后的效果
house:
  family:
    name: Doe
    parents:
      - John
      - Jane
    children:
      - Paul
      - Mark
      - Simone
  address:
    number: 34
    street: Main Street
    city: Nowheretown
    zipcode: 12345

三、数据类型

YAML会自动判定数据形态是哪一种实体。如果用户想要将数据强制转换成自定义的类型。

---a: 123                  # 整数
b: "123"                   # 字串(使用双括号)
c: 123.0                   # 浮点数
d: !!float 123             # 浮点数,使用!!表达的严格型态
e: !!str 123               # 字串,使用严格型态
f: !!str Yes               # 字串,使用严格型态
g: Yes                     # 布林值"真"
h: Yes we have No bananas  # 字串(包含"Yes"和"No")

四、语法

  1. 使用空白字符为文件缩进来表示结构(不可以使用TAB

  2. 注解:#,可以出现在一行中的任何位置,而且范围只有一行(单行注解)

  3. 数组(我自己理解的):以单行表示,使用- 开始;或者使用[],成员之间使用, (后面有空格)隔开。

  4. Map:使用: 分开键和值;或者使用{},成员之间使用, (后面有空格)隔开。

    键可以使用开始,用来明确的表示多个词汇组成的键值。

  5. 字符串:平常不使用引号,必要时可以使用""''

    使用"",有时需要\,转义

  6. null:空值,使用~

  7. 区分多个文件:在单一文件中,可以使用- - -,区分多个文件。可以使用...表示文件结尾。

  8. 重复的内容可以使用*,复制&标记的内容。<<表示合并到当前数据

  9. 强制转型:!!

  10. 指导指令:

    • %YAML 指导指令,用来识别文件的YAML版本。
    • %TAG 指导指令,被用在URI的前缀标记。这个方法在标记节点的类型时相当有用。

五、简单示例

#第一个文件
---
#数组
arr1: [java, c++, python]
arr2:
    - java
    - c++
    - python
#map
people1:
    name: 'jack'
    age: 12
    weight: !!float 12.00
people2: {name: lili, age: 18, weight: 80}

#空值
people3: ~

...
#第二个文件
---
people: &people
    eat: !!str 吃饭
    sleep: "睡觉"
jack:
  <<: *people
  age: 18
  
...
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

长泽雅美你老婆

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

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

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

打赏作者

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

抵扣说明:

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

余额充值