net.sf.json依赖的包很多。
有commons-collections,commons-beanutils.jar,commons-httpclient.jar,commons-lang.jar,ezmorph-1.0.5.jar,morph-1.1.1.jar
- /**
- *从一个JSON对象字符格式中得到一个java对象,形如:
- *{"id":idValue,"name":nameValue,"aBean":{"aBeanId":aBeanIdValue,...}}
- *@paramobject
- *@paramclazz
- *@return
- */
- publicstaticObjectgetDTO(StringjsonString,Classclazz){
- JSONObjectjsonObject=null;
- try{
- setDataFormat2JAVA();
- jsonObject=JSONObject.fromObject(jsonString);
- }catch(Exceptione){
- e.printStackTrace();
- }
- returnJSONObject.toBean(jsonObject,clazz);
- }
- /**
- *从一个JSON对象字符格式中得到一个java对象,其中beansList是一类的集合,形如:
- *{"id":idValue,"name":nameValue,"aBean":{"aBeanId":aBeanIdValue,...},
- *beansList:[{},{},...]}
- *@paramjsonString
- *@paramclazz
- *@parammap集合属性的类型(key:集合属性名,value:集合属性类型class)eg:("beansList":Bean.class)
- *@return
- */
- publicstaticObjectgetDTO(StringjsonString,Classclazz,Mapmap){
- JSONObjectjsonObject=null;
- try{
- setDataFormat2JAVA();
- jsonObject=JSONObject.fromObject(jsonString);
- }catch(Exceptione){
- e.printStackTrace();
- }
- returnJSONObject.toBean(jsonObject,clazz,map);
- }
- /**
- *从一个JSON数组得到一个java对象数组,形如:
- *[{"id":idValue,"name":nameValue},{"id":idValue,"name":nameValue},...]
- *@paramobject
- *@paramclazz
- *@return
- */
- publicstaticObject[]getDTOArray(StringjsonString,Classclazz){
- setDataFormat2JAVA();
- JSONArrayarray=JSONArray.fromObject(jsonString);
- Object[]obj=newObject[array.size()];
- for(inti=0;i<array.size();i++){
- JSONObjectjsonObject=array.getJSONObject(i);
- obj[i]=JSONObject.toBean(jsonObject,clazz);
- }
- returnobj;
- }
- /**
- *从一个JSON数组得到一个java对象数组,形如:
- *[{"id":idValue,"name":nameValue},{"id":idValue,"name":nameValue},...]
- *@paramobject
- *@paramclazz
- *@parammap
- *@return
- */
- publicstaticObject[]getDTOArray(StringjsonString,Classclazz,Mapmap){
- setDataFormat2JAVA();
- JSONArrayarray=JSONArray.fromObject(jsonString);
- Object[]obj=newObject[array.size()];
- for(inti=0;i<array.size();i++){
- JSONObjectjsonObject=array.getJSONObject(i);
- obj[i]=JSONObject.toBean(jsonObject,clazz,map);
- }
- returnobj;
- }
- /**
- *从一个JSON数组得到一个java对象集合
- *@paramobject
- *@paramclazz
- *@return
- */
- publicstaticListgetDTOList(StringjsonString,Classclazz){
- setDataFormat2JAVA();
- JSONArrayarray=JSONArray.fromObject(jsonString);
- Listlist=newArrayList();
- for(Iteratoriter=array.iterator();iter.hasNext();){
- JSONObjectjsonObject=(JSONObject)iter.next();
- list.add(JSONObject.toBean(jsonObject,clazz));
- }
- returnlist;
- }
- /**
- *从一个JSON数组得到一个java对象集合,其中对象中包含有集合属性
- *@paramobject
- *@paramclazz
- *@parammap集合属性的类型
- *@return
- */
- publicstaticListgetDTOList(StringjsonString,Classclazz,Mapmap){
- setDataFormat2JAVA();
- JSONArrayarray=JSONArray.fromObject(jsonString);
- Listlist=newArrayList();
- for(Iteratoriter=array.iterator();iter.hasNext();){
- JSONObjectjsonObject=(JSONObject)iter.next();
- list.add(JSONObject.toBean(jsonObject,clazz,map));
- }
- returnlist;
- }
- /**
- *从jsonHASH表达式中获取一个map,该map支持嵌套功能
- *形如:{"id":"johncon","name":"小强"}
- *注意commons-collections版本,必须包含org.apache.commons.collections.map.MultiKeyMap
- *@paramobject
- *@return
- */
- publicstaticMapgetMapFromJson(StringjsonString){
- setDataFormat2JAVA();
- JSONObjectjsonObject=JSONObject.fromObject(jsonString);
- Mapmap=newHashMap();
- for(Iteratoriter=jsonObject.keys();iter.hasNext();){
- Stringkey=(String)iter.next();
- map.put(key,jsonObject.get(key));
- }
- returnmap;
- }
- /**
- *从json数组中得到相应java数组
- *json形如:["123","456"]
- *@paramjsonString
- *@return
- */
- publicstaticObject[]getObjectArrayFromJson(StringjsonString){
- JSONArrayjsonArray=JSONArray.fromObject(jsonString);
- returnjsonArray.toArray();
- }
- /**
- *把数据对象转换成json字符串
- *DTO对象形如:{"id":idValue,"name":nameValue,...}
- *数组对象形如:[{},{},{},...]
- *map对象形如:{key1:{"id":idValue,"name":nameValue,...},key2:{},...}
- *@paramobject
- *@return
- */
- publicstaticStringgetJSONString(Objectobject)throwsException{
- StringjsonString=null;
- //日期值处理器
- JsonConfigjsonConfig=newJsonConfig();
- jsonConfig.registerJsonValueProcessor(java.util.Date.class,newJsonDateValueProcessor());
- if(object!=null){
- if(objectinstanceofCollection||objectinstanceofObject[]){
- jsonString=JSONArray.fromObject(object,jsonConfig).toString();
- }else{
- jsonString=JSONObject.fromObject(object,jsonConfig).toString();
- }
- }
- returnjsonString==null?"{}":jsonString;
- }
130

被折叠的 条评论
为什么被折叠?



