为什么是 YAML ?
首先我们来看看什么是YAML :官网上作者对自己的定义YAML 不是标记语言。
YAML 是针对所有编程语言的人性化数据序列化标准。
像 XML 一样,它使用可移植的、独立于平台的格式来表示任何种类的的数据,但是它是人性的化格式这意味着它更方便我们阅读。
同时 YAML 也是 Unity 编辑器使用的序列化格式。
它看起来像是这样 :
示例
YAML 的基本语法大小写敏感。
使用缩进来表示层级关系。
缩进不允许使用 Tab
使用 # 来表示单行注释,不支持多行注释。
文件开头要使用 --- 来表示文档开始,使用 ... 来表示。文档结束,一个文件中可以存在多个文档。
文件的拓展名一般为 .yaml 比如 Player.yaml
YAML 支持的数据结构翻译并不完全准确,每个人译法不同请以英文为主。散列表 ( mappings )
数组 ( sequences )
纯量 ( scalars )
现在我们来学习一下三大数据结构,这一部分内容请结合下方的特殊符号讲解一起看。
1 .散列表 :
2 .数组:
3 .纯量 ( 不保证每个解析器都能正常使用所有类型,请自行实际判断 )
1 .Integers 整型
2 .Floating Point 浮点数
3 .Timestamps 时间
4 . 其它常用类型
现在我们来看看 YAML 中的特殊符号:
1 . " --- " 和 " ... "
2 . “ > ” 和 " | "
3 . " ? " 和 " : "
4 . " & " 、" << " 和 " * "
在 Unity 中使用 YAML !
YAML 在很多语言中都可以方便的使用,unity 中也不例外。
1 .在资源商店中查找 YamlDotNet for Unity 这是一个免费的插件,将它导入到你的项目中。
2 .导入后你的项目中应该是这样的,在 Plugin 文件夹下 多出一个名为 YamlDotNet 的文件夹。
3 .创建一个脚本来测试下我们的功能,创建一个玩家类来保存信息。
4 .简单的存储读取。
5 .运行看看最终效果吧 ~ 😎。
大功告成 !,我们再来看看 YAML 中这一段的样子: