LitJson 使用注意
2021/11/5 6:10:25
本文主要是介绍LitJson 使用注意,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一.【序列化注意(内存到硬盘)】:
string jsonStr = JsonMapper.ToJson(传入对象名);
1.不能序列化私有变量;
2.相对于 JsonUtility, LitJson 不需要加特性。一种是 里面包裹的类不需要加,还有一种是 private的变量加了也没用,因为 private 变量不能够被序列化出来;
3.支持 C# 的 字典 Dictionary 。(建议我们自定义的 Dictionary 集合的键 是 字符串, 因为Json的特点, 它的 Json 字符串中的键 会加上 双引号)
4.相对于Unity 自带 JsonUtility 而言,Json字符串 可以存 null,而不是JsonUtility那样取默认值;
二.【反序列化注意(硬盘到内存)】:
比如 反序列化到这个类:
public class Hero { public string name; public int age; public string address; }
方法一:
JsonData jsData = JsonMapper.ToObject(传入字符串);
//这个JsonData 是键值对那种形式
可以这样拿数据:
print(jsData["name"]); print(jsData["age"]); print(jsData["address"]);
拿到数据。
方法二:Hero hero = JsonMapper.ToObject<Hero>(jsonStr);
注意:1. LitJson 虽然支持 Dictionary集合 ,但是 C# 字典集合 Dictionary 的键得是 string类型,不能直接int,double 等数值类型。
2. 类结构需要无参构造函数,否则反序列化会出错: 比如你的类,自己写了个有参构造函数,那么就导致无参构造函数就被顶替掉了。所以呢,还需要你补充一个无参构造。要不就什么构造都不要写,系统new 时候 自己创建无参构造。
用法三(就是方法二 ):
` Hero[] heroArray = JsonMapper.ToObject<Hero[]>(jsonStr); //直接转为数组
List
这篇关于LitJson 使用注意的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16Vue3资料:新手入门必读教程
- 2024-11-16Vue3资料:新手入门全面指南
- 2024-11-16Vue资料:新手入门完全指南
- 2024-11-16Vue项目实战:新手入门指南
- 2024-11-16React Hooks之useEffect案例详解
- 2024-11-16useRef案例详解:React中的useRef使用教程
- 2024-11-16React Hooks之useState案例详解
- 2024-11-16Vue入门指南:从零开始搭建第一个Vue项目
- 2024-11-16Vue3学习:新手入门教程与实践指南
- 2024-11-16Vue3学习:从入门到初级实战教程