YAML详解

本文介绍了YAML,一种简洁且人性化的数据序列化标准,它比XML更简单,且与JSON兼容。内容涵盖YAML的优势,如与XML和JSON的对比,以及详细解释了YAML的文件结构、语法、数据结构和数据类型。此外,文章还探讨了Java中如何操作YAML,包括SnakeYAML、JYaml和YamlBeans库的使用。
摘要由CSDN通过智能技术生成

介绍

YAML,YAML Ain’t Markup Language的简称。是一种人性化、跨语言的数据序列化标准,基于Unicode的数据序列化语言,围绕敏捷编程语言的常见本地数据类型而设计。它广泛地用于编程需求,从配置文件到Internet消息传递、对象持久性到数据审计。

优势

YAML与XML

  • 具有 XML 同样的优点,但比 XML 更加简单、敏捷等

YAML与JSON

  • JSON 可以看作是 YAML 的子集,也就是说 JSON 能够做的事情,YAML 也能够做
  • YAML 能表示得比 JSON 更加简单和阅读,例如“字符串不需要引号”。所以 YAML 容易可以写成 JSON 的格式,但并不建议这种做
  • YAML 能够描述比 JSON 更加复杂的结构,例如“关系锚点”可以表示数据引用(如重复数据的引用)。

详解

文件结构

YAML文件可以由单个或多个文档组成(文档之间相互独立)。多个文档之间使用“—”(三个横线)作为文档的开始分隔符。使用“…”(三个点)作为文档的结束分隔符(可省略)。单个文档省略分隔符。

语法

  • 缩进:空格
  • 序列:“-”加空格
  • 映射:“:”加空格
  • 注释:“#”

数据结构

  • 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
  • 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
  • 纯量(scalars):单个的、不可再分的值

数据类型

纯量

  • 整数、浮点、字符串、布尔、Null、时间、日期
# 整数
age: 10
# 浮点
price: 1.48

#  字符串
name: Jane
address: BeiJing

# 布尔
online: true

# Null
car: ~

# 时间(ISO8601 格式)
time: 2019-02-28t21:59:43.10-05:00 

# 日期(iso8601 格式的年、月、日)
date: 2019-02-28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值