数据序列化格式-YAML

目录

  • YAML

YAML

  • YAML使用可打印的Unicode字符,可使用UTF-8或UTF-16。
  • 使用空白字符为文件缩进来表示结构;不过不能使用跳格字符(TAB)。
  • 注解由井字号( # )开始,可以出现在一行中的任何位置,而且范围只有一行(也就是一般所谓的单行注解)
  • 每个清单成员以单行表示,并用短杠+空白( - )起始。或使用方括号( [ ] ),并用逗号+空白( , )分开成员。
  • 每个散列表的成员用冒号+空白( : )分开键值和内容。或使用大括号( { } ),并用逗号+空白( , )分开。
  • 散列表的键值可以用问号 ( ? )起始,用来明确的表示多个词汇组成的键值。
    字符串平常并不使用引号,但必要的时候可以用双引号 ( " )或单引号 ( ‘ )框住
  • 使用双引号表示字符串时,可用倒斜线( ?)开始的转义字符(这跟C语言类似)表示特殊字符。
  • 区块的字符串用缩进和修饰符(非必要)来和其他数据分隔,有新行保留(preserve)(使用符号 | )或新行折叠(flod)(使用符号 > )两种方式。
  • 在单一文件中,可用连续三个连字号(---)区分多个文件。
  • 另外,还有选择性的连续三个点号( ... )用来表示文件结尾。
  • 重复的内容可使从参考标记星号 ( * )复制到锚点标记( & )。
  • 指定格式可以使用两个惊叹号 ( !! ),后面接上名称。
  • 文件中的单一文件可以使用指导指令,使用方法是百分比符号( % )。有两个指导指令在YAML1.1版中被定义:
  • %YAML 指导指令,用来识别文件的YAML版本。
  • %TAG 指导指令,被用在URI的前缀标记。这个方法在标记节点的类型时相当有用。
  • YAML在使用逗号及冒号时,后面都必须接一个空白字符,所以可以在字符串或数值中自由加入分隔符号(例如:5,280或http://www.wikipedia.org)而不需要使用引号。

另外还有两个特殊符号在YAML中被保留,有可能在未来的版本被使用--( @ )和( ` )。

原文地址:https://www.cnblogs.com/leafs99/p/data_serialization-YAML.html

时间: 2024-10-09 04:09:20

数据序列化格式-YAML的相关文章

当前比较流行的几种数据交换格式

当前比较流行的几种数据交换格式 主要包括以下三种: · XML · JSON · YAML XML XML是当前编程中最为流行的数据交换格式,拥有跨平台.跨语言的优势.对于XML应该很熟悉,所以不再多做介绍. JSON 什么是JSON? · JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式: · 它是基于JavaScript的一个子集: JSON的有优点? · 易于人阅读和编写.同时也易于机器解析和生成: · 同XML或HTML片段相比,JSON提供了

Json数据序列化对象,及对象序列化为Json格式

public class JsonHelper { /// <summary> /// 生成Json格式 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="obj"></param> /// <returns></returns> public static string GetJso

Day4 - 迭代器&amp;生成器、装饰器、Json &amp; pickle 数据序列化、软件目录结构规范

---恢复内容开始--- 本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 1.列表生成式,迭代器&生成器 列表生成式 需求:列表a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],要求把列表里的每个值加1 1 a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 2 b = [] 3 for i in a: 4 b.append(i+1) 5 a = b 6 print(a) 普通青

SuperPack——实现更小负载的新序列化格式

Shape Security开源了一个新的无模式二进制序列化格式,名为SuperPack. SuperPack使用了二进制的序列化模式,这意味着会减少负载的大小(腾云科技ty300.com).按照Shape Security的说法,对于一个给定的4.48 KB的样例信息,相对于多个其他的无模式格式,SuperPack的负载是最小的: YAML和BSON非常冗长,会增加消息的负载.JSON比YAML要好得多,但是因为它基于文本编码格式,所以它的大小依然会远远超过SuperPack.在gzip压缩之

几种Android数据序列化方案

一.引言 数据的序列化在Android开发中占据着重要的地位,无论是在进程间通信.本地数据存储又或者是网络数据传输都离不开序列化的支持.而针对不同场景选择合适的序列化方案对于应用的性能有着极大的影响. 从广义上讲,数据序列化就是将数据结构或者是对象转换成我们可以存储或者传输的数据格式的一个过程,在序列化的过程中,数据结构或者对象将其状态信息写入到临时或者持久性的存储区中,而在对应的反序列化过程中,则可以说是生成的数据被还原成数据结构或对象的过程. 这样来说,数据序列化相当于是将我们原先的对象序列

RDD关键性能考量之 序列化格式

<Spark快速大数据分析> 8.4.2 关键性能考量  序列化格式 当Spark需要通过网络传输数据,或是将数据写到磁盘上时,Spark需要把数据序列化为二进制格式. 序列化会在数据进行混洗操作时发生,此时有可能需要通过网络传输大量数据. 默认情况下,Spark会使用Java内建的序列化库.Spark也支持使用第三方序列化库Kryo, 可以提供比Java的序列化工具更短的序列化时间和更高压缩比的二进制表示,但不能直接序列化全部 类型的对象.几乎所有的应用都在迁移到Kryo后获得了更好的性能.

PHP序列化以及反序列化系列[1]--PHP序列化格式的写法

反序列化:对单一的已序列化的变量进行操作,将其转换回 PHP 的值(zval). PHP序列化方式 PHP在序列化的时候会将相应的变量以对应的键值进行储存. 将一个类序列化的话,处理代码主要的 文件:ext/standard/var.c 中,如下. php_var_serialize_class()函数: static void php_var_serialize_class(smart_str *buf, zval *struc, zval *retval_ptr, HashTable *va

python学习之 -- 数据序列化

json / pickle 数据序列化 序列化定义:把变量从内存中变成可存储或传输的过程称为序列化.反序列化:把变量内容从序列化的对象重新读到内存里称为反序列胡. 序列化模块之--pickle使用注意:在python3里,进行一次序列化后,然后在进行反序列化,不要重复多次序列化,否则无法进行反序列化.pickle:是python独有的序列化模块,只能作用于python变量,是将数据对象转化为bytes.功能:用于python特有的类型和python的数据类型间进行转换.举例: 1 import

【Hadoop】数据序列化系统Avro

Avro简介 schema 文件组成 Header与Datablock声明代码 测试代码 序列化与反序列化 specific generic 参考资料 Avro简介 Avro是由Doug Cutting(Hadoop之父)创建的数据序列化系统,旨在解决Writeable类型的不足:缺乏语言的可移植性.为了支持跨语言,Avro的schema与语言的模式无关.有关Avro的更多特性请参看官方文档 1. Avro文件的读写是依据schema而进行的.通常情况下,Avro的schema是用JSON编写,