为什么是 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 中这一段的样子: