最近在做实验室项目的过程中,碰到了需要用Json序列化数据并在unity中读取的需求。搜索网络,发现unity内置的json序列化以及反序列化工具均只支持有结构的数据,因此我试着在unity中引入Newtonsoft.Json来对数据做非序列化的访问和遍历。此帖为导入过程中的踩坑帖。

1. 下载Newtonsoft.Json二进制文件

Newtonsoft的官方网站 下载编译好的二进制文件

2. 导入Unity

关于如何将编译好的库导入到unity,一篇知乎文章讲的很详细。然而,根据我的实际测试,导入过程完全不需要这么麻烦。

在解压缩上述的zip文件后能得到json库的源文件以及编译好的二进制dll。在[解压缩文件的根目录]/Bin/文件夹下,能看到不同.net版本的dll

选择最接近unity使用的.net版本即可,在unity中可通过edit/Project Settings/Player的Configuration中查看

虽然我的unity使用的.net版本是 .net standard 2.1,经实际测试使用netstandard2.0版本的dll文件不会出问题。

接着,将dll文件复制到unity的assets/plugins文件夹下,若没有这个文件夹可以创建相应的文件夹。

接着就可以在脚本中通过using Newtonsoft.Json 使用这个库了