yaml 编码格式简述
在linux服务器中,基础的组件:节点发现(etcd)、负载均衡、数据编解码、压缩、主题订阅、数据持久化。其中数据编解码常用的有xml、json、yaml、protobuf、cbor。
常用的数据编解码格式:
- xml是以标签为中心的数据编码结构
- json是以弱标签为中心的数据编码结构
- yaml是以弱数据为中心的数据编码结构
- protobuf是以强数据为中心的数据编码结果
- cbor是超强数据为中心的数据编码结构
本文讲其中的yaml结构。
基本语法:
- 缩进时不允许使用tab键,只允许使用空格
- 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
- '#'标识注释,从这个字符一直到行尾,都会被解释器忽略
yaml 支持的数据结构
- 对象:键值对的集合,又称为映射(mapping)/哈希(hasher)/字典(directionary)
- 数组:一组按次序排列的值,又成为序列(sequence)/列表(list)
- 纯量(scalars): 单个的,不可再分的值
1、对象类型。是一组键值对,使用冒号结构表示:
name: jack
age: 18
2、对象嵌套:
格式1(在同一行):
hash: {name: jack, age: 18}
格式2 (在不同行):
hash:
name: jack
age: 18
3、数组类型。一组连词线(’-’)开头的行,构成一个数组:
格式1:
animal: [cat, dog]
格式2:
animal
- cat
- dog
4、复合结构:在一个配置文件中,对象、数组可以同时使用:
languages:
- ruby
- golang
- python
websites:
YAML: yaml.org
GOLANG: golang.org.x
Python: python.org
5、纯量:
纯量是最基本的,不可再分的值,纯量举例:
1 字符串
str1: 单行字符串str2: '包含空格或特殊符号 的字符串:'# 字符串可以写在多行内,从第二行开始,每一行的开头必须缩进一个空格,换行符会被转换为空格
str3: 字符串str3部分1字符串str3部分2字符串str3部分3# 多行字符串,可以使用'|'保留换行符号,或使用'>'符号折叠换行符
language: |
Golang
c++
python
shell
language-1: >
java
nodejs
c# '+'表示保留文字块末尾的换行符号,'-'表示删除字符末尾的换行符
lan1: |Golanglan2: |+Golanglan3: |-Golang2 布尔值
IfPull: true3 整数
count: 1004 浮点数
number: 100.015 NULL
parent: ~6 时间
time_start: 2022.1.17-16t22:30:00.11-06:597 日期
date: 2022-01-17
yaml 编码格式简述相关推荐
- 简述Qt编程中遇到的编码格式问题
提要 当文本中出现中文的时候,在两者之前的文本编码格式不一样的时候就会出现乱码.就像qt5默认的编码格式为utf-8,而Windows的开发环境默认的是gbk编码. 编码转化 utf-8编码于gbk编 ...
- SpringBoot配置文件YAML配置注入(详解)
目录 一.SpringBoot配置文件 1. SpringBoot默认配置文件 2. 配置文件的作用 3. 配置文件的位置 4. 多环境切换 方式一:多配置文件 方式二:一个配置文件(yaml的多文档 ...
- 简述DataInputStream和DataOuputStream
2019独角兽企业重金招聘Python工程师标准>>> Java开发中经常会用到IO流,那么就会碰到DataInputStream和DataOuputStream这两个包装类.下面就 ...
- Python的配置文件模块yaml的使用
转自:君惜丶 简述 和GNU一样,YAML是一个递归着说"不"的名字.不同的是,GNU对UNIX说不,YAML说不的对象是XML. YAML不是XML. 为什么不是XML呢?因为: ...
- Web 开发中 Blob 与 FileAPI 使用简述
本文节选自 Awesome CheatSheet/DOM CheatSheet,主要是对 DOM 操作中常见的 Blob.File API 相关概念进行简要描述. Web 开发中 Blob 与 Fil ...
- 关于 WSGI、uwsgi和uWSGI的区别及基于 uWSGI和gunicorn 部署python web 简述
关于 WSGI.uwsgi和uWSGI的区别及基于 uWSGI和gunicorn 部署python web 简述 引言 最近基于 Flask Web框架在开发一个后端项目,在Web Server和 F ...
- VB 按指定编码格式写入文本文件
代码如下: 'VB 按指定编码格式写入文本文件,默认GB2312编码. Private Sub SaveFile(FilePath As String, strText As String, Opt ...
- 简述UTF-8编码原理及其文本文件的读写技术 【转】
系统自带的记事本有读写UTF-8文本文件的功能,我想在自编的记事本中也加入这个功能,但在网上查找了一个钟头,竟然找不到用VB编写的代码,看来,天降大任于斯人也,大概要由我来开这个头了. 于是我在网上狂 ...
- python︱处理与使用json格式的数据(json/UltraJSON/Demjson)、pickle模块、yaml模块
python种关于json有很多,simplejson,cjson,还有ujson(详细内容可见:http://blog.csdn.net/gzlaiyonghao/article/details/6 ...
最新文章
- poj_3067 树状数组
- 针对深度学习(神经网络)的AI框架调研
- 【LDA学习系列】MCMC之Metropolis-Hastings采样算法python代码理解
- Java多线程干货系列(1):Java多线程基础
- 如何用Pygame写游戏(十)
- Linux学习笔记:rpm程序包管理
- visio2010 用键盘上的上下键为什么移动不了选中的部分,而是整个画布都在移动?...
- UVa——110303 Common Permutation(字符串)
- Python-科比投篮预测
- 接收前端传回的JSON字符串,并存入数据库
- 解决flume整合kafka报错Attempt to heart beat failed since member id is not valid, reset it and try to re-jo
- wap端使用a标签跳转不刷新问题
- Network Delay Simulator模拟延时、带宽甚至丢包率,更精确地模拟慢网速环境
- Java栈的实现数组和链表
- 如何发好外贸邮件,看亚马逊SES邮件服务商怎么说?
- eclipse 下载和安装教程(初学者,2022最新版)
- 华为VRRP,多网关协同工作及其实验配置
- centos服务器 java 项目new Date()相差12小时
- C语言打印矩形、长方形、平行四边形、各种三角形
- 移动硬盘无法读取怎么修复?