版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、unity3dJSONJSON 介绍JSON 语法JSON 结构LitJson介绍Json生成、解析JSON 介绍JSONJSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C+, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生
2、成(网络传输速度)。JSON 语法JSON 语法JSON 语法是 JavaScript 对象表示语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JSON 语法JSON 名称/值对JSON 数据的书写格式是:名称/值对。名称/值对组合中的名称写在前面(在双引号中),值对写在后面(同样在双引号中),中间用冒号隔开:firstName:“Name这很容易理解,等价于这条 JavaScript 语句:firstName=NameJSON 语法JSON 值JSON 值可以是:数字(整数或浮点数)字符串(在双引号中)逻辑值(true 或 false)数组(在方括号中)对象(在花括号
3、中)nullJSON 结构JSON 结构JSON 结构有两种结构1、对象:对象在js中表示为“”括起来的内容,数据结构为 key:value,key:value,.的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。JSON 结构2、数组:数组在js中是中括号“”括起来的内容,数据结构为 “c,“unity,“mono,.,取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。经过对象、数组2种结构就可以组合成复杂的数据结
4、构了。JSON 结构Json对象name:张三,lv:1,job:法师,exp:1.1复合Json对象name:李四,info:lv:2,job:战士,exp:2.2Json数组name:张三,lv:1,job:法师,exp:1.1,name:李四,lv:2,job:战士,exp:2.2LitJson介绍LitJson介绍LitJson是一个开源项目,比较小巧轻便,安装也很简单,在Unity里只需要把LitJson.dll放到Plugins文件夹下,并在代码的最开头添加 “Using LitJson”就可以了。简单来说,LitJson的用途是实现Json和代码数据之间的转换,一般用于从服务器请
5、求数据,得到返回的Json后进行转换从而在代码里可以访问。Json生成、解析生成Json对象JsonWriter writer = new JsonWriter(); /创建json对象writer.WriteObjectStart();/开始写入对象writer.WritePropertyName(name);/写入键writer.Write(张三);/写入值writer.WritePropertyName(lv);writer.Write(1);writer.WriteObjectEnd();/结束写入对象生成json对象name:张三,lv:1,job:法师,exp:1.1LitJson
6、生成Json对象JsonData data = new JsonData();dataname = 张三;datalv = 1;datajob = 法师;dataexp = 1.1;生成json对象name:张三,lv:1,job:法师,exp:1.1LitJson解析Json对象JsonData data = JsonMapper.ToObject(json对象);name = dataname.ToString();lv = int.Parse(datalv.ToString();job = datajob.ToString();exp = float.Parse(dataexp.ToSt
7、ring();Json生成、解析练习生成json对象,并解析 name:王五,lv:3,job:骑士,exp:3.3 2. 生成复合json对象,并解析 name:李四,info:lv:2,job:战士,exp:2.2LitJson解析Json复合对象JsonData data = JsonMapper.ToObject(json对象);name = dataname.ToString();lv = int.Parse(datainfolv.ToString();job = datainfojob.ToString();exp = float.Parse(datainfoexp.ToStrin
8、g();生成Json数组JsonWriter writer = new JsonWriter();writer.WriteArrayStart();writer.Write(张三);writer.Write(1);writer.Write(法师);writer.Write(1.1);writer.WriteArrayEnd();生成json数组张三,1,法师,1.1Json生成、解析3. 生成json数组 张三,1,法师,1.1name:张三,lv:1,job:法师,exp:1.1,name:李四,lv:2,job:战士,exp:2.2name:李四,info:lv:2,job:战士,exp:2.2LitJson解析Json数组JsonData data = JsonMapper.ToObject(json数组);name = data0name.ToString();lv = int.Parse(data0lv.ToString();job = data1job.ToString();exp = float.Parse(data1exp.ToString();Json生成、解析练习生成以下json并解
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年计算机系统运维工程师资格考试试题及答案
- 2026年药物临床试验机构培训管理规范
- 2026年危废存放点位标准化建设练习题及答案
- 2026年药品到货拒收后的上报流程培训试题(含答案)
- 2026年卫生正高职称面审答辩(护理)经典试题及答案
- 2026年食品生产企业质量安全专项整治自查报告
- 2026年医用织物收集清洗消毒三基培训考核计划
- 2026年考研政治新时代中国特色社会主义外交课件
- 河南事业编后勤保障岗 2026 高频考题试卷
- 健康宣教处方设计
- 铁路外包施工人员安全准入考试题库
- 第二十六章 二次函数 单元测试卷(含答案) 2026-2027学年人教版九年级数学上册
- 2026苏教版六年级数学上册第四单元第7课时《练习八》教案
- 2025年遗体火化师题库及答案
- UG练习图纸大全-65张-绝对受用
- 高空作业清洁合同范本
- 《EPDM应用技术规程》
- (正式版)DB15∕T 1932-2020 《公路抗凝冰沥青混合料设计与施工技术规范》
- 中行职称管理办法
- 《建筑施工技术》课件-第三章 砌筑工程
- 2025年MySQL数据类型试题及答案
评论
0/150
提交评论