【YAML】YAML语言|YAML配置文件|YAML库用法|相比json的区别优势

本文介绍了YAML语言的基本概念、语法结构,并提供了YAML库的编译与使用方法。此外,文章还对比了YAML与JSON的区别,指出YAML在格式简化和注释支持上的优势。
摘要由CSDN通过智能技术生成

目录

YAML简介

官方定义

我的理解

基本的语法结构

1. 当数据类型是字面量

2.当数据类型是对象、键值对的集合

3.当数据类型是数组、一组按次序排列的值

YAML库编译与使用

库的下载与编译安装

使用例子

YAML和 json的区别(有何优势)

区别

 在线转换工具


YAML简介

官方定义

    YAML(/ˈjæməl/,尾音类似camel骆驼)是一个可读性高,用来表达数据序列化的格式。

  • YAML 是 “YAML Ain’t a Markup Language”(YAML 不是一种标记语言)的缩写。在开发的这种语言时,YAML 的意思其实是:“Yet Another Markup Language”(仍是一种标记语言)。
  • 它非常适合用来做以数据为中心的配置文件。

我的理解

YAML(YAML Ain’t Markup Language),YAML 是一种简洁的非标记语言

1、YAML以数据为中心,使用空白,缩进,分行组织数据,从而使得表示更加简洁易读。

2、YAML是一种可读的文本的数据结构,它的设计目标是使人们容易读,程序容易处理。它类似XML,但是比XML简单。广泛用于配置文件,日志文件,跨语言数据共享,对象持久化,复杂的数据结构。

3、YAML 的配置文件后缀为 .yml,如:libai.yml 。

就是一种标记语言,适合用来编写以数据为中心的配置文件。

(参考:YAML和JSON对比-https://bbs.huaweicloud.com/blogs/298709)

YAML配置文件

用YAML语言编写的配置文件。

YAML库

提供读取YAML语言编写的配置文件的配置项的API的库。

基本的语法结构

摘自:https://blog.csdn.net/MrYushiwen/article/details/112393248

  • key: value;key:与value之间有空格
  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进不允许使用tab,只允许空格(但是在idea中可以放心使用tab来进行缩进,目前还没有出现什么问题)
  • 缩进的空格数不重要,只要相同层级的元素左对齐即可
  • '#'表示注释
  • 字符串无需加引号,如果要加, ""与 ''表示字符串内容会被转义或不转义。
    • 其中单引号''字符串内容不会被转义,举个例子' \n '会输出\n这个字符串
    • 双引号 "" 字符串内容会被转义,举个例子"\n "会把\n进行转义输出换行回车

1. 当数据类型是字面量

  • 字面量:单个的、不可再分的值。date、boolean、string、number、null

语法为:(k:v之间必须加空格。)

#`k:`与`v`之间必须加空格
k: v

2.当数据类型是对象、键值对的集合

  • 对象、键值对的集合:map、hash、set、object

语法为:(行内写法时k:v之间可以不加空格,一般写法时k:v之间必须加空格)

#行内写法:(行内写法时`k:`与`v`之间可以不加空格)  
k: {k1:v1,k2:v2,k3:v3}
#或一般写法:(一般写法时`k:`与`v`之间必须加空格)
k: 
  k1: v1
  k2: v2
  k3: v3

3.当数据类型是数组、一组按次序排列的值

  • 数组、一组按次序排列的值:array、list、queue

语法为:(k:v之间,-v之间都必须加空格)

#`k:`与`v`之间,`-`与`v`之间都必须加空格
行内写法:  k: [v1,v2,v3]
#或者
k:
 - v1
 - v2
 - v3

实战示例:

在这里插入图片描述

输出结果:

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值