本篇介绍在Unity中读写Json文件的两种方式:1.JsonUtility;2.LitJson;
注意:在使用LitJson前需要先将文件拖入unity项目中
一、JsonUtility与LitJson的区别
1.JsonUtility使用自定义类需要加特性,而LitJson不需要
2.JsonUtility支持私有和保护变量,而LitJson不支持
3.JsonUtility不支持字典,而LitJson支持,但是当字典在序列化时如果键含int等非string类型,反序列化时会读取不到,因为序列化后非string类型的键可以理解为已经被改为string类型(但事实不是,没改,但可以当做去理解,想搞清原因可以自己去查一下)
4.JsonUtility不能直接将数组反序列化,而LitJson可以,比如{ {1,2},{3,4}}
5.LitJson需要无参构造,但JsonUtility不需要
6.LitJson存储null时存储的就是null,但JsonUtility存储的是默认值
二、JsonUtility的使用
2.1读取json
string jsonstr2=File.ReadAllText(Application.persistentDataPath + "/" + "testJson.json");
Debug.Log(jsonstr2);
PlayerInfo playerInfo=new PlayerInfo();
playerInfo=JsonUtility.FromJson<PlayerInfo>(jsonstr2);
2.2写入json
[Serializable]
public class Message
{
public int id;
publi

最低0.47元/天 解锁文章
884

被折叠的 条评论
为什么被折叠?



