默认计划
2343人加入学习
(5人评价)
【唐老狮】Unity数据持久化之Json
价格 ¥ 149.00
承诺服务
该课程属于 Unity3d实战就业路线课程套餐
请加入后再学习

ListJson 序列化与反序列化Json

JsonMapper.ToJson("数据对象");//序列化

[展开全文]

6、LitJson 序列化

(1)LitJson是什么

第三方库,用于Json的序列化与反序列化,LitJson是C#编写,体积小、速度快、易于使用,它可以很容易地嵌入到代码中,只需要将LitJson代码拷贝到工程中即可

(2)获取LitJson

前往LitJson官网

通过官网前往Github获取最新版本代码

将src/LitJson的代码拷贝到Unity工程中,即可开始使用LItJson

(3)使用LitJson进行序列化

方法:JsonMapper.ToJson(对象)

注意:

相对JsonUtility不需要加特性

不能序列化私有变量

支持字典类型

需要引用LitJson命名空间

Li可以保存 null类型

使用和上面同样的例子,但是要把上面的对象、成员的特性移除(因为这些特性是针对JsonUtility的):

string jsonStr = JsonMapper.ToJson(p);
File.WriteAllText(Application.streamingAssetsPath + "/lesson2.json", jsonStr);

结果为:

{"name":"Well","age":19,"sex":true,"testF":1.3,"testD":1.3,"ids":[1,2,3,4],"ids2":[1,2,3,4],"dic":{"1":"123","2":"123"},"dic2":{"1":"123","2":"123"},"s1":null,"s2":[{"age":2,"name":"Ming"},{"age":3,"name":"Qiang"}]}

可以发现,字典能够存储(字典的键都是字符串),同时null能够表示,但是私有、保护变量无法存储,同时如果存储的有中文,表示方法与JsonUtility也不一样

 

(4)使用LitJson进行反序列化

 

(5)注意事项

[展开全文]

获取LitJson

将代码拷贝到unity工程中,即src中的litjson文件夹

 

序列化:

JsonMapper.ToJson(对象);

私有变量不能序列化

可以保存null

[展开全文]

使用LitJson 序列化

方法:JsonMapper.ToJson(对象) 

注意:

1.相对JsonUtlity不需要加特性

2.不能序列化私有变量

3.支持字典,字典的键 建议都是字符串,因为Json的特点 Json的键会加双引号

4.需要引用Json.LitJson命名空间

5.LitJson可以准确保存null

[展开全文]

授课教师

游戏开发前端主程

课程特色

视频(17)
下载资料(16)

学员动态

松松 加入学习
roscorpioot 加入学习
muqianke 加入学习
逐梦鸢行 加入学习
sszs 加入学习