当前位置: 首页 > news >正文

哪个网站做相册好深圳市宝安区网站建设

哪个网站做相册好,深圳市宝安区网站建设,广州营销型网站建设培训班,缩短链接Json概述 Json是什么? 全称:JavaScript对象简谱(JavaScript Object Notation) Json是国际通用的一种轻量级的数据交换格式 主要在网络通讯中用于传输数据,或本地数据存储和读取 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率 我们一般使用Json文件来…Json概述 Json是什么? 全称:JavaScript对象简谱(JavaScript Object Notation) Json是国际通用的一种轻量级的数据交换格式 主要在网络通讯中用于传输数据,或本地数据存储和读取 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率 我们一般使用Json文件来记录和传输数据 Json文档就是使用Json格式配置填写的文档 后缀一般为.json 我们在游戏中可以把游戏数据按照Json的格式标准 存储在Json文档中,再将Json文档存储在硬盘上或者传输给远端 达到数据持久化或者数据传输的目的 Json文件格式 Json配置规则 用什么编辑Json文件? 只要能打开文档的软件都能打开Json文件 常用的一些编辑Json文件的方式 1、系统自带 – 记事本、写字板 2.通用文本编辑器 – Sublime Text等等 3.网页上的Json编辑器 注释 和C#中注释方式一致 1.双斜杠//注释内容 2.斜杠加星号/注释内容/ Json格式是一种键值对结构 语法规则 Json数据和类对象的对应关系 配置Json文档时的注意事项 1.如果数据表示对象那么最外层有大括号 2.一定是键值对形式 3.键一定是字符串格式 4.键值对用逗号分开 5.数组用[]包裹 6.对象用{}包裹 Excel转Json Excel数据转Json数据 1.在百度或者Google搜索Excel转Json 2.选择在线转换的网站 比如:https://www.bejson.com/json/col2json/ 3.进行转换 4.保存Json格式的数据 C#读取存储Json文件 JsonUtlity JsonUtlity序列化 JsonUtlity是什么? JsonUtlity 是Unity自带的用于解析Json的公共类 它可以 1.将内存中对象序列化为Json格式的字符串 2.将Json字符串反序列化为类对象 在文件中存读字符串 1、存储字符串到指定路径文件中 第一个参数填写的是存储的路径必须是存在的文件路径如果没有对应文件夹会报错 第二个参数填写的是存储的字符串内容 File.WriteAllText(Application.persistentDataPath /Test.json,chx);2、在指定路径文件中读取字符串 File.ReadAllText(Application.persistentDataPath /Test.json);使用JsonUtlity进行序列化 [System.Serializable] public class Student {public int age;public string name;public Student(int age, string name){this.age age;this.name name;} }public class MrTang {public string name;public int age;public bool sex;public float testF;public double testD;public int[] ids;public Listint ids2;public Dictionaryint, string dic;public Dictionarystring, string dic2;public Student s1;public ListStudent s2s;[SerializeField]private int privateI 1;[SerializeField]protected int protectedI 2; } 序列化把内存中的数据 存储到硬盘上 方法: JsonUtility.ToJson(对象) 初始化数据 MrTang t new MrTang(); t.name 唐老狮; t.age 18; t.sex false; t.testF 1.4f; t.testD 1.4;t.ids new int[] { 1, 2, 3, 4 }; t.ids2 new Listint() { 1, 2, 3 }; t.dic new Dictionaryint, string() { { 1, 123 }, { 2, 234 } }; t.dic2 new Dictionarystring, string() { { 1, 123 }, { 2, 234 } };t.s1 null;//new Student(1, 小红); t.s2s new ListStudent() { new Student(2, 小明), new Student(3, 小强) }; JsonUtility提供了现成的方法可以把类对象序列化为Json字符串 string jsonStr JsonUtility.ToJson(t); File.WriteAllText(Application.persistentDataPath /MrTang.json,jsonStr);注意: 1.float序列化时看起来会有一些误差 2.自定义类需要加上序列化特性[System.Serializable] 3.想要序列化私有变量 需要加上特性[SerializeField] 4.JsonUtility不支持字典 5.JsonUtlity存储null对象不会是null 而是默认值的数据 JsonUtility反序列化 使用JsonUtlity进行反序列化 反序列化:把硬盘上的数据 读取到内存中 方法: JsonUtility.FromJson(字符串) //读取文件中的Json字符串 jsonStr File.ReadAllText(Application.persistentDataPath /MrTang.json); //使用Json字符串内容转换成类对象 MrTang t2 JsonUtility.FromJson(jsonStr,typeof(MrTang)) as MrTang; MrTang t3 JsonUtility.FromJsonMrTang(jsonStr);注意: 如果Json中数据少了,读取到内存中类对象中时不会报错 注意事项 1、JsonUtility无法直接读取数据集合 若想要读取则将数据包裹到对象中如下 public class RoleData {public ListRoleInfo list; }[System.Serializable] 3 个引用 public class RoleInfo {public int hp;public int speed;public int volume;public string resName;public int scale; } RoleData data JsonUtility.FromJsonRoleData(jsonStr);2、文本编码格式需要UTF-8不然无法加载 总结 1.必备知识点 —— File存读字符串的方法 ReadAllText和WriteAllText 2.JsonUtlity提供的序列化反序列化方法 ToJson 和 FromJson 3.自定义类需要加上序列化特性[System.Serializable] 4.私有保护成员 需要加上[SerializeField] 5.JsonUtlity不支持字典 6.JsonUtlity不能直接将数据反序列化为数据集合 7.Json文档编码格式必须是UTF-8 LitJson LitJson序列化 LitJson是什么? 它是一个第三方库,用于处理Json的序列化和反序列化 LitJson是c#编写的,体积小、速度快、易于使用 它可以很容易的嵌入到我们的代码中 只需要将LitJson代码拷贝到工程中即可 获取LitJson 1.前往LitJson官网 2.通过官网前往GitHub获取最新版本代码 3.将代码拷贝到Unity工程中 即可开始使用LitJson 使用LitJson进行序列化 方法 JsonMapper.ToJson(对象) public class Student2 {public int age;public string name;public Student2() { }public Student2(int age, string name){this.age age;this.name name;} }public class MrTang2 {public string name;public int age;public bool sex;public float testF;public double testD;public int[] ids;public Listint ids2;//public Dictionaryint, string dic;public Dictionarystring, string dic2;public Student2 s1;public ListStudent2 s2s;private int privateI 1;protected int protectedI 2; } 初始化 MrTang2 t new MrTang2(); t.name 唐老狮; t.age 18; t.sex true; t.testF 1.4f; t.testD 1.4;t.ids new int[] { 1, 2, 3, 4 }; t.ids2 new Listint() { 1, 2, 3 }; //t.dic new Dictionaryint, string() { { 1, 123 }, { 2, 234 } }; t.dic2 new Dictionarystring, string() { { 1, 123 }, { 2, 234 } };t.s1 null;//new Student(1, 小红); t.s2s new ListStudent2() { new Student2(2, 小明), new Student2(3, 小强) }; 序列化 string jsonStr JsonMapper.ToJson(t); File.WriteAllText(Application.persistentDataPath /MrTang2.json,jsonStr);注意: 1.相对JsonUtlity不需要加特性 2.不能序列化私有变量 3.支持字典类型字典的键建议都是字符串因为Json的特点Json中的键会加上双引号。 4.需要引用LitJson命名空间 5.LitJson可以准确的保存null类型 LitJson反序列化 使用LitJson反序列化 方法: JsonMapper.ToObject(字符串) jsonStr File.ReadAllText(Application.persistentDataPath /MrTang2.json); //JsonData是LitJson提供的类对象 可以用键值对的形式去访问其中的内容 JsonData data JsonMapper.ToObject(jsonStr); print(data[name]); print(data[age]); //通过泛型转换 更加的方便 建议使用这种方式 MrTang2 t2 JsonMapper.ToObjectMrTang2(jsonStr);注意: 1.类结构需要无参构造函数,否则反序列化时报错 2.字典虽然支持 但是键在使用为数值时会有问题 需要使用字符串类型 注意事项 1.LitJson可以直接读取数据集合 RoleInfo.json: public class RoleInfo2 {public int hp;public int speed;public int volume;public string resName;public int scale; } //1 jsonStr File.ReadAllText(Application.streamingAssetsPath /RoleInfo.json); RoleInfo2[] arr JsonMapper.ToObjectRoleInfo2[](jsonStr); //2 ListRoleInfo2 list JsonMapper.ToObjectListRoleInfo2(jsonStr); //3 jsonStr File.ReadAllText(Application.streamingAssetsPath /Dic.json); Dictionarystring, int dicTest JsonMapper.ToObjectDictionarystring, int(jsonStr); json数据最后一行加逗号报错 2.文本编码格式需要是UTF-8 不然无法加载 总结 1.LitJson提供的序列化反序列化方法 JsonMapper.ToJson和ToObject 2.LitJson无需加特性 3.LitJson不支持私有变量 4.LitJson支持字典序列化反序列化 5.LitJson可以直接将数据反序列化为数据集合 6.LitJson反序列化时 自定义类型需要无参构造 7.Json文档编码格式必须是UTF-8 JsonUtility和LitJson对比 JsonUtlity和LitJson相同点 1.他们都是用于Json的序列化反序列化 2.Json文档编码格式必须是UTF-8 3.都是通过静态类进行方法调用 JsonUtlity和LitJson不同点 1.JsonUtlity是Unity自带,LitJson是第三方需要引用命名空间 2.JsonUtlity使用时自定义类需要加特性,LitJson不需要 3.JsonUtlity支持私有变量(加特性),LitJson不支持 4.JsonUtlity不支持字典,LitJson支持(但是键只能是字符串) 5.JsonUtlity不能直接将数据反序列化为数据集合(数组字典),LitJson可以 6.JsonUtlity对自定义类不要求有无参构造,LitJson需要 7.JsonUtlity存储空对象时会存储默认值而不是null,LitJson会存null 如何选择两者 根据实际需求 建议使用LitJson 原因:LitJson不用加特性,支持字典,支持直接反序列化为数据集合,存储null更准确
http://www.hkea.cn/news/14337112/

相关文章:

  • 徐州市制作网站的公司互联网营销有哪些
  • 专业做互联网招聘的网站有哪些内容宽屏大气网站模板
  • 网站设计常用软件wordpress 企业主题下载
  • 盐城网站开发代理谷歌企业邮箱注册
  • o2o网站开发腾讯云服务器使用教程
  • 黄冈建设网站新装本地wordpress超慢
  • 网站设计与网页配色实例精讲网络会议网站
  • 办个网站需要投资多少网站建设的运作原理
  • 网站建设 补充协议中国建设培训网站查询系统
  • 营销型网站建设效果一个app开发大概要多少钱
  • 河南郑州最近的热搜事件广州网站建设seo
  • 如何自己做门户网站让别人做的网站不给源代码
  • 安利的网站谁做的软件外包公司账务处理
  • 电商网站制作价格水头网站建设
  • 如何用 ftp上传网站大众汽车网站建设
  • 怎们自己做网站网页qq登陆官网
  • 在四川省住房和城乡建设厅网站上查大型网站建设设备
  • 手机网站制作优化网站开发项目管理文档模板
  • 印度做爰免费网站视频备案ip 查询网站查询系统
  • 广州 海珠 建网站连云港做网站的公司
  • 个人静态网站肥西县住房和城乡建设局网站
  • 建设厅网站合同备案在哪里山西响应式网站哪家好
  • 海北公司网站建设哪家快免费的wordpress模板
  • 北京优化词网站全网营销型网站建站专家
  • 环球培训机构官网太原seo顾问
  • 建设网站话术小说网站开发对影成三人小说
  • 提供企业网站建设公司id怎么转wordpress
  • 怎么做网站呢舞钢市城乡建设局网站
  • 网站建设团队精神跨境电商软件平台
  • wd怎样建设一个网站定远建设小学网站