首先说下问题,我在开发过程中,碰到过两次因为Json库不支持导致发布后出问题的情况。
第一种情况,Windows的IL2CPP跨平台编译,常见的Json是通过反射机制实现的,但IL2CPP是不支持反射的,导致在编辑器中可以正常使用,但是发布后就一堆Json的报错。
第二种情况,Webgl平台,本身Webgl平台就限制很大,很多的第三方库在其他平台支持,但是到Webgl端就不支持了,包括Json库。
解决方案其实都是找一个支持该平台的Json库即可。
第一种情况:在GitHub上有个国外的编写的库,jillejr/newtonsoft-json-for-unity/ 这个库支持IL2CPP跨平台编译的,只需要导入这个库即可使用。
GitHub地址:https://github.com/jilleJr/Newtonsoft.Json-for-Unity/wiki/Install-official-via-UPM
导入方式在我另外一篇文章里面有写:https://blog.youkuaiyun.com/weixin_43872129/article/details/131842137?spm=1001.2014.3001.5502
注意:该Json库已经停止支持更新了
第二种情况:如果只是单纯的支持Webgl平台的Json库也同样找一个即可,在GitHub上也有第三方的库支持。
GitHub地址:https://github.com/SaladLab/Json.Net.Unity3D/releases