当前位置: 首页 > news >正文

VYaml | 超快速低内存占用yaml库

一、介绍

官方github仓库
YAML:YAML Ain’t Markup Language(YAML 不是标记语言)。
使用Unity2021.3 or later。
通过Unity Package Manager安装: https://github.com/hadashiA/VYaml.git?path=VYaml.Unity/Assets/VYaml#0.13.1
ps:.yaml或者.yml是此格式的文件后缀。

二、说明

2.1 语法

  • #表示单行注释,不支持多行注释
  • 使用空格缩进表示层级关系,相同层级一定要对齐
  • 大小写敏感
  • 使用 — 来表示文档开始,使用 … 来表示文档的结束
  • 使用>表示换行,使用|也表示换挡但是保留换行符

2.2 数据类型

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

2.3 对象

对象键值对使用冒号结构表示key: value,冒号后面要加一个空格。也可以使用key:{k1: v1, k2: v2, …}
较复杂的对象格式,可以使用问号加一个空格表示一个复杂的key,配合一个冒号加一个空格表示一个value

2.4 数组

以 - 开头的行表示构成一个数组

2.5 纯量

string: 这是字符串
boolean: 这是布尔值
int: 这是整数
float: 这是浮点数
null: 这是Null
date: 这是时间,格式必须是yyyy-MM-dd
datetime: 这是日期,2023-07-10T09:00:00+08:00,时间和日期直接用T连接,最后使用+代表时区

2.6 引用

& 用来建立锚点,<< 表示合并到当前数据,* 用来引用锚点

common: &id001name: 张三sex: manmath:<<: *id001score: 100history: <<: *id001score: 95

相当于:

common: name: 张三sex: manmath:name: 张三sex: manscore: 100history: name: 张三sex: manscore: 95

三、使用

查看官方ReadMe
个人学习地址

通过Serialize和SerializeToString实现对象的序列化,通过Deserialize和DeserializeAsync实现字符串的反序列化。
ps:更多复杂结构请自行学习~

http://www.lryc.cn/news/94792.html

相关文章:

  • 动态规划01背包之1049 最后一块石头的重量 II(第9道)
  • 运输层(TCP运输协议相关)
  • GDAL操作实践培训
  • 3.Redis主从复制、哨兵、集群
  • Windows电源模式(命令行)
  • 6月份读书学习好文记录
  • 【C语言】字符串函数
  • 【数据挖掘】时间序列教程【九】
  • 数据结构---特殊矩阵和广义表
  • mysql数据库的定时备份脚本(docker环境和非docker环境)
  • 【微信小程序】使用 wx.request 方法进行异步网络请求
  • MySQL 8 修改root密码ERROR 1064 (42000): You have an error in your SQL syntax;
  • SpringCloud——分布式请求链路跟踪Sleuth
  • 【2 beego学习 - 项目导入与项目知识点】
  • Langchain-ChatGLM配置文件参数测试
  • 测试QT读写锁(QReadWriteLock )和互斥锁(QReadWriteLock )的执行效率
  • 如何在 Windows 中免费合并 PDF 文件 [在线和离线]
  • 【LLM】金融大模型场景和大模型Lora微调实战
  • 途乐证券股市资讯-英伟达,又创历史新高!美股全线上涨
  • MySQL表聚合函数
  • JavaWeb 速通XML
  • redis浅析
  • 四种缓存的避坑总结
  • flutter开发实战-flutter二维码条形码扫一扫功能实现
  • 一篇文章了解Redis分布式锁
  • 记录第一次组装电脑遇到的坑
  • 右键pdf文件没有打印
  • 什么是CDN?CDN的原理和作用是什么?
  • 链路传播(Propagate)机制及使用场景
  • pytorch技巧总结1:学习率调整方法