在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 编码格式简述相关推荐

  1. 简述Qt编程中遇到的编码格式问题

    提要 当文本中出现中文的时候,在两者之前的文本编码格式不一样的时候就会出现乱码.就像qt5默认的编码格式为utf-8,而Windows的开发环境默认的是gbk编码. 编码转化 utf-8编码于gbk编 ...

  2. SpringBoot配置文件YAML配置注入(详解)

    目录 一.SpringBoot配置文件 1. SpringBoot默认配置文件 2. 配置文件的作用 3. 配置文件的位置 4. 多环境切换 方式一:多配置文件 方式二:一个配置文件(yaml的多文档 ...

  3. 简述DataInputStream和DataOuputStream

    2019独角兽企业重金招聘Python工程师标准>>> Java开发中经常会用到IO流,那么就会碰到DataInputStream和DataOuputStream这两个包装类.下面就 ...

  4. Python的配置文件模块yaml的使用

    转自:君惜丶 简述 和GNU一样,YAML是一个递归着说"不"的名字.不同的是,GNU对UNIX说不,YAML说不的对象是XML. YAML不是XML. 为什么不是XML呢?因为: ...

  5. Web 开发中 Blob 与 FileAPI 使用简述

    本文节选自 Awesome CheatSheet/DOM CheatSheet,主要是对 DOM 操作中常见的 Blob.File API 相关概念进行简要描述. Web 开发中 Blob 与 Fil ...

  6. 关于 WSGI、uwsgi和uWSGI的区别及基于 uWSGI和gunicorn 部署python web 简述

    关于 WSGI.uwsgi和uWSGI的区别及基于 uWSGI和gunicorn 部署python web 简述 引言 最近基于 Flask Web框架在开发一个后端项目,在Web Server和 F ...

  7. VB 按指定编码格式写入文本文件

     代码如下: 'VB 按指定编码格式写入文本文件,默认GB2312编码. Private Sub SaveFile(FilePath As String, strText As String, Opt ...

  8. 简述UTF-8编码原理及其文本文件的读写技术 【转】

    系统自带的记事本有读写UTF-8文本文件的功能,我想在自编的记事本中也加入这个功能,但在网上查找了一个钟头,竟然找不到用VB编写的代码,看来,天降大任于斯人也,大概要由我来开这个头了. 于是我在网上狂 ...

  9. python︱处理与使用json格式的数据(json/UltraJSON/Demjson)、pickle模块、yaml模块

    python种关于json有很多,simplejson,cjson,还有ujson(详细内容可见:http://blog.csdn.net/gzlaiyonghao/article/details/6 ...

最新文章

  1. poj_3067 树状数组
  2. 针对深度学习(神经网络)的AI框架调研
  3. 【LDA学习系列】MCMC之Metropolis-Hastings采样算法python代码理解
  4. Java多线程干货系列(1):Java多线程基础
  5. 如何用Pygame写游戏(十)
  6. Linux学习笔记:rpm程序包管理
  7. visio2010 用键盘上的上下键为什么移动不了选中的部分,而是整个画布都在移动?...
  8. UVa——110303 Common Permutation(字符串)
  9. Python-科比投篮预测
  10. 接收前端传回的JSON字符串,并存入数据库
  11. 解决flume整合kafka报错Attempt to heart beat failed since member id is not valid, reset it and try to re-jo
  12. wap端使用a标签跳转不刷新问题
  13. Network Delay Simulator模拟延时、带宽甚至丢包率,更精确地模拟慢网速环境
  14. Java栈的实现数组和链表
  15. 如何发好外贸邮件,看亚马逊SES邮件服务商怎么说?
  16. eclipse 下载和安装教程(初学者,2022最新版)
  17. 华为VRRP,多网关协同工作及其实验配置
  18. centos服务器 java 项目new Date()相差12小时
  19. C语言打印矩形、长方形、平行四边形、各种三角形
  20. 移动硬盘无法读取怎么修复?

热门文章

  1. 华为Mate系列主要参数
  2. c语言100道题 第二道 出租车计价
  3. java 设置pdf 编码格式_Java 在PDF中添加条形码
  4. vi设计管理手册的体系
  5. 老树开新花:DLL劫持漏洞新玩法
  6. 遇人不淑之逗比程序员
  7. 逆向js实例---美拍
  8. 求问,如何计算距离一个经纬度坐标点500㎞范围内的半圆面积平均?
  9. Kali 安装详细步骤
  10. SEO流量变现,看这个项目就够了!