LitJson 使用注意

发布时间:2022-07-01 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了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 heroList = JsonMapper.ToObject<List>(jsonStr);` //直接转为List集合

脚本宝典总结

以上是脚本宝典为你收集整理的LitJson 使用注意全部内容,希望文章能够帮你解决LitJson 使用注意所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: