版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
——Json- 类库使用手册虾皮20125211、JsonLib简 2、JsonLib使 准备工 处理 处理 处理 处理 处理 处理 处理 处理 处理 处理 对象 对象 3、日期转 三种解决方 封装函数方 4、参考文 1、JsonLib简介arrays和XML等)JSON互相转换的功能。java.lang.Number,byte,short,int,long,float,2、JsonLib使用【测试实体——Studentpackagepackagepublicclass{privateStringuserName;privateString;privateintpublicpublicStudent()}publicStudent(StringuserName,this.userName=,intage) this.age=}publicStringgetUserName()return}publicvoidsetUserName(StringuserName)this.userName=}publicString () }publicvoid;)=}publicintgetAge()return}publicvoidsetAge(intage)this.age=}}【测试实体——Classpackagepackageimportimportpublicclass{privateStringprivateDateprivateList<Student>publicClass()}}publicClass(Stringname,Datedate,List<Student>students)=name;this.date=date;this.students=students;}publicStringgetName()return}publicvoidsetName(Stringname)=}publicDategetDate()return}publicvoidsetDate(Datedate)this.date=}publicList<Student>getStudents()return}publicvoidsetStudents(List<Student>students)this.students=}}处理【示例代码packagepackageimportjava.util.ArrayList;importjava.util.List;importorg.junit.Test;publicclass{publicpublicvoidarray2json()int[]intArray=newJSONArrayjsonArray1=System.out.println("int[]intArray");boolean[]boolArray=newSystem.out.println("boolean[]JSONArrayjsonArray2=JSONArray.fromObject(boolArray);int[][]int2Array=newJSONArrayjsonArray3=JSONArray.fromObject(int2Array);System.out.println("int[][]int2Array");float[]floatArray=newJSONArrayjsonArray4=JSONArray.fromObject(floatArray);System.out.println("float[]floatArray");String[]strArray=newJSONArrayjsonArray5=System.out.println("String[]strArray");}}【运行结果int[]int[]int[][]int2Arrayfloat[]String[] 处理【示例代码packagepackageimportjava.util.ArrayList;importjava.util.List;importorg.junit.Test;publicclass{publiccollections2json(){List=newArrayList();JSONArrayjsonArray1=JSONArray.fromObject(list1);System.out.println("Listlist1");List<Studentlist2newArrayList<Student>();list2.add(newStudent("xiapi1","男",10));JSONArrayjsonArray2=JSONArray.fromObject(list2);System.out.println("List<Student>list2");}【运行结果ListListList<Student> 处理【示例代码packagepackageimportimportimportimportpublicclass{publicvoidMapmap1=newHashMap();map1.put("int",newInteger(1));map1.put("func","function(i){returnthis.arr[i];}");JSONObjectjsonObject1=JSONObject.fromObject(map1);System.out.println("Mapmap1");Map<String,Student>map2newHashMap<String,Student>();map2.put("k1",newStudent("xiapi1","男",10));map2.put("k2"newStudent("xiapi2","女map2.put("k3",newStudent("xiapi3","男",13));JSONObjectjsonObject2JSONObject.fromObject(map2);System.out.println("Map<String,Student>map2");}}【运行结果MapMapthis.arr[i];},"bool":true} 处理【示例代码packagepackageimportjava.util.ArrayList;importjava.util.Date;importimportnet.sf.json.JSON;importnet.sf.json.JSONArray;importimportnet.sf.json.util.CycleDetectionStrategy;importorg.junit.Test;publicclass{publicvoidStudents1=newStudent("xiapi","男",22);JSONObjectjsonObject1JSONObject.fromObject(s1);System.out.println("Students1");Classc1=newClass();c1.setDate(newDate());JsonConfigconfig=newnewJsonValueProcessor()//参数1:属性 publicObjectprocessObjectValue(Stringarg0,ObjectJsonConfigarg2)SimpleDateFormatsdf=newSimpleDateFormat("yyyy‐MM‐ddDated=(Date)returnreturn}return}List<StudentstudentsnewArrayList<Student>();students.add(newStudent("xiapi1","男",10));students.add(newStudent("xiapi2","女",11));students.add(newStudent("xiapi3","男",12));JSONObjectjsonObject2=JSONObject.fromObject(c1,config);System.out.println("Classc1");}}【运行结果StudentStudent Class处理【示例代码packagepackageimportimportimportpublicclass{publicvoidStringString<name XMLSerializerx=newXMLSerializer();JSONjson=x.read(s);}}【运行结果2012‐5‐212012‐5‐2119:01:03net.sf.json.xml.XMLSerializer信息Usingdefaulttype 处理【示例代码packagepackageimportimportnet.sf.json.JSONArray;importnet.sf.json.JsonConfig;importpublicclass{publicvoidStringjson1=JSONArrayjsonArray1=(JSONArray)JSONSerializer.toJSON(json1);JsonConfigjsonConfig=newJsonConfig();Object[]expected=newObject[]{"first","second"Stringjson2JSONArrayjsonArray2=Object[][]output2=(Object[][])JSONArray.toArray(jsonArray2);}}【运行结果21处理【示例代码packagepackageimportimportnet.sf.json.JSONArray;importorg.junit.Test;publicclass{publicvoidStringjson1=JSONArrayjsonArray1=(JSONArray)JSONSerializer.toJSON(json1);Listoutput1=(List)JSONSerializer.toJava(jsonArray1);StringStringjson2 JSONArrayjsonArray2=JSONArray.fromObject(json2);List<Student>output2=JSONArray.toList(jsonArray2,Student.class);}}【运行结果处理【示例代码packagepackageimportjava.util.Date;importjava.util.Map;importimportnet.sf.ezmorph.MorpherRegistry;importnet.sf.ezmorph.bean.BeanMorpher;importnet.sf.json.JSONObject;importnet.sf.json.JSONSerializer;importnet.sf.json.util.JSONUtils;importpublicclassJsonLibpublicvoidStringjson1JSONObjectjsonObject1=JSONObject.fromObject(json1);MaptypeMap1=newHashMap();typeMap1.put("int",Integer.class);typeMap1.put("name",String.class);Mapoutput1=Stringjson2 JSONObjectjsonObject2=JSONObject.fromObject(json2);Map<String,Class<?>>typeMap2=newHashMap<String,Class<?>>();Map<String,Student>output2=(Map<String,Student>) MorpherRegistrymorpherRegistry=JSONUtils.getMorpherRegistry();MorpherdynaMorpher=newBeanMorpher(Student.class,}}【运行结果42 =男age=10]处理【示例代码packagepackageimportimportnet.sf.ezmorph.MorpherRegistry;importnet.sf.ezmorph.bean.BeanMorpher;importnet.sf.json.JSONObject;importimportimportpublicclass{publicvoidStringjson1="{'age':22,' JSONObjectjsonObject1=JSONObject.fromObject(json1);Studentoutput1=(Student)JSONObject.toBean(jsonObject1,Stringjson2="{'date':'2012‐05‐21'name':'计算机应用1班', String[]DATE_FORMAT={"yyyy‐MM‐ddHH:mm:ss"};JSONObjectjsonObject2=JSONObject.fromObject(json2);MaptypeMap1=newHashMap();typeMap1.put("date",Date.class);Classoutput2=}}【运行结果MonMay2113:03:11CST处理【示例代码packagepackageimportnet.sf.json.JSONObject;importorg.junit.Test;publicclass{publicvoidStringjson1="{'age':22,' JSONObjectjsonObj=JSONObject.fromObject(json1);XMLSerializerx=newXMLSerializer();Stringxml=x.write(jsonObj);}}【运行结果<?xmlversion="1.0"<o><agetype="number">22</age>< 对象【示例代码packagepackageimportimportpublicclass{publicvoidtestJSONArray()JSONArrayjsonArray=newJSONArray();}}【运行结果对象【示例代码packagepackageimportimportimportimportpublicclass{publicvoidtestJSONObject()JSONObjectjsonObjectnewJSONObject();jsonObject.put("name","xiapi");jsonObject.put("age",20); ","男");JSONArrayjsonArraynewJSONArray();}}【运行结果 3、日期json-lib转换出来的日期类三种解决方案使用jsonConfig的setExcludessetExcludespublicpublicvoidEmpemp=new}滤该字段,返回false表示可以转换该字段。publicpublicvoidEmpemp=newconfig.setJsonPropertyFilter(newPropertyFilter()publicbooleanapply(Objectarg0,Stringarg1,Objectreturntrue;}return}}jsonConfigregisterJsonValueProcessor()进行属性转换设置。publicpublicvoidEmpemp=new 解决json最头疼的问题死循//jsonconfig.registerJsonValueProcessor(Date.class,newJsonValueProcessor()//参数1:属性 参数2:json对象的 publicObjectprocessObjectValue(Stringarg0,Objectarg1,JsonConfig{SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");Dated=(Date)arg1;return}{return}}{"birthday":"2010-08-{"birthday":"2010-08- 00:00:00","dept":{"depid":1,"depna
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大学生兼职劳动合同书2
- 联机手环测量仪器项目运营指导方案
- 电动锯商业机会挖掘与战略布局策略研究报告
- 冲床金属加工用产品供应链分析
- 电动指甲刀商业机会挖掘与战略布局策略研究报告
- 眉刷商业机会挖掘与战略布局策略研究报告
- 自动电话交换机商业机会挖掘与战略布局策略研究报告
- 粉饼盒用粉芯项目运营指导方案
- 空手道用护腿板项目运营指导方案
- 外科手术机器人出租行业相关项目经营管理报告
- 哈工大研究生课程-高等结构动力学-第四章课件
- 仁义礼智信五常心态课件
- 遗传算法讲稿
- 高质量的师幼互动(提交版)课件
- 导游业务说课汇报课件
- 国企工期标准化手册!各业态建筑工期要求详解
- 卿平海-以校为本的学校发展规划课件
- DB31T 405-2021 集中空调通风系统卫生管理规范
- 示儿优秀课件
- (质量科)废弃物处理记录
- 2022四年级数学上册1大数的认识第13课时整理和复习教学设计新人教版
评论
0/150
提交评论