细细品味webjson-lib类库使用手册_第1页
细细品味webjson-lib类库使用手册_第2页
细细品味webjson-lib类库使用手册_第3页
细细品味webjson-lib类库使用手册_第4页
细细品味webjson-lib类库使用手册_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

——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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论