ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

JsonUtility 使用注意事项

2021-11-05 01:02:42  阅读:323  来源: 互联网

标签:jsonStr Apple 自定义 注意事项 Json 使用 JsonUtility 序列化


Unity自带的Json解析类 JsonUtility 有几点要注意:

1.【序列化时(内存到硬盘)】:
用 :JsonUtility.ToJson(对象)
注意:
1.float 序列化会有数据误差
2.自定义类 嵌套自定义类,里面那个类 需要加上序列化特性[System.Serializable]
3.想要序列化私有变量,需要加上特性[SerializeField]
4.JsonUtility 不支持 C#中的字典集合 Dictionary
5.JsonUtility 存储null 对象不会是 null ,而是默认值。

2.【反序列化(硬盘到内存)时】:
有两个方法(比如我们是一个Apple类):
方法一:
Apple a1 = JsonUtility.FromJson(jsonStr, typeof(Apple)) as Apple;
方法二:
Apple a2 = JsonUtility.FromJson《Apple》(jsonStr); //★ 这里Apple 外面是泛型。本来单尖括号,但是博客园保存不上,只能写双尖括号了

注意:1.JsonUtility 无法直接读取数据集合:比如一个Json 文件,最外层是[]数组 而不是{} 对象 ,这样的json文件不能读,除非再改成最外面是 {} 对象格式。
2.文档编码格式 必须是UTF-8

标签:jsonStr,Apple,自定义,注意事项,Json,使用,JsonUtility,序列化
来源: https://www.cnblogs.com/st007777/p/15511370.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有