加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

jsonObject的使用

发布时间:2020-12-16 19:57:09 所属栏目:百科 来源:网络整理
导读:进入需要在项目中用java处理json格式的数据,因此封装了一个class,现将这个class共享出来和大家分享 /***//** *Copyright(c)linkwise2007-2009corporation. *Allrightsreserved */ packagecom.linghui.common.util; importjava.util.ArrayList; importjava.

进入需要在项目中用java处理json格式的数据,因此封装了一个class,现将这个class共享出来和大家分享

/***//**

*Copyright(c)linkwise2007-2009corporation.

*Allrightsreserved

*/

packagecom.linghui.common.util;

importjava.util.ArrayList;

importjava.util.Date;

importjava.util.HashMap;

importjava.util.Iterator;

importjava.util.List;

importjava.util.Map;

importnet.sf.json.JSONArray;

importnet.sf.json.JSONObject;

importnet.sf.json.JsonConfig;

importnet.sf.json.util.CycleDetectionStrategy;

importcom.linghui.common.util.DateUtil;

importcom.linghui.common.util.jsonutil.DateJsonValueProcessor;

/***//**

*@author</br><ahref="mailto:fx19800215@163.com">robert.feng</a>

*

*/

publicclassJsonUtil...{

/***//**

*从一个JSON对象字符格式中得到一个java对象

*@paramjsonString

*@parampojoCalss

*@return

*/

publicstaticObjectgetObject4JsonString(StringjsonString,ClasspojoCalss)...{

Objectpojo;

JSONObjectjsonObject=JSONObject.fromObject(jsonString);

pojo=JSONObject.toBean(jsonObject,pojoCalss);

returnpojo;

}

/***//**

*从jsonHASH表达式中获取一个map,改map支持嵌套功能

*@paramjsonString

*@return

*/

publicstaticMapgetMap4Json(StringjsonString)...{

JSONObjectjsonObject=JSONObject.fromObject(jsonString);

IteratorkeyIter=jsonObject.keys();

Stringkey;

Objectvalue;

MapvalueMap=newHashMap();

while(keyIter.hasNext())

...{

key=(String)keyIter.next();

value=jsonObject.get(key);

valueMap.put(key,value);

}

returnvalueMap;

}

/***//**

*从json数组中得到相应java数组

*@paramjsonString

*@return

*/

publicstaticObject[]getObjectArray4Json(StringjsonString)...{

JSONArrayjsonArray=JSONArray.fromObject(jsonString);

returnjsonArray.toArray();

}

/***//**

*从json对象集合表达式中得到一个java对象列表

*@paramjsonString

*@parampojoClass

*@return

*/

publicstaticListgetList4Json(StringjsonString,ClasspojoClass)...{

JSONArrayjsonArray=JSONArray.fromObject(jsonString);

JSONObjectjsonObject;

ObjectpojoValue;

Listlist=newArrayList();

for(inti=0;i<jsonArray.size();i++)...{

jsonObject=jsonArray.getJSONObject(i);

pojoValue=JSONObject.toBean(jsonObject,pojoClass);

list.add(pojoValue);

}

returnlist;

}

/***//**

*从json数组中解析出java字符串数组

*@paramjsonString

*@return

*/

publicstaticString[]getStringArray4Json(StringjsonString)...{

JSONArrayjsonArray=JSONArray.fromObject(jsonString);

String[]stringArray=newString[jsonArray.size()];

for(inti=0;i<jsonArray.size();i++)...{

stringArray[i]=jsonArray.getString(i);

}

returnstringArray;

}

/***//**

*从json数组中解析出javaLong型对象数组

*@paramjsonString

*@return

*/

publicstaticLong[]getLongArray4Json(StringjsonString)...{

JSONArrayjsonArray=JSONArray.fromObject(jsonString);

Long[]longArray=newLong[jsonArray.size()];

for(inti=0;i<jsonArray.size();i++)...{

longArray[i]=jsonArray.getLong(i);

}

returnlongArray;

}

/***//**

*从json数组中解析出javaInteger型对象数组

*@paramjsonString

*@return

*/

publicstaticInteger[]getIntegerArray4Json(StringjsonString)...{

JSONArrayjsonArray=JSONArray.fromObject(jsonString);

Integer[]integerArray=newInteger[jsonArray.size()];

for(inti=0;i<jsonArray.size();i++)...{

integerArray[i]=jsonArray.getInt(i);

}

returnintegerArray;

}

/***//**

*从json数组中解析出javaDate型对象数组,使用本方法必须保证

*@paramjsonString

*@return

*/

publicstaticDate[]getDateArray4Json(StringjsonString,StringDataFormat)...{

JSONArrayjsonArray=JSONArray.fromObject(jsonString);

Date[]dateArray=newDate[jsonArray.size()];

StringdateString;

Datedate;

for(inti=0;i<jsonArray.size();i++)...{

dateString=jsonArray.getString(i);

date=DateUtil.stringToDate(dateString,DataFormat);

dateArray[i]=date;

}

returndateArray;

}

/***//**

*从json数组中解析出javaInteger型对象数组

*@paramjsonString

*@return

*/

publicstaticDouble[]getDoubleArray4Json(StringjsonString)...{

JSONArrayjsonArray=JSONArray.fromObject(jsonString);

Double[]doubleArray=newDouble[jsonArray.size()];

for(inti=0;i<jsonArray.size();i++)...{

doubleArray[i]=jsonArray.getDouble(i);

}

returndoubleArray;

}

/***//**

*将java对象转换成json字符串

*@paramjavaObj

*@return

*/

publicstaticStringgetJsonString4JavaPOJO(ObjectjavaObj)...{

JSONObjectjson;

json=JSONObject.fromObject(javaObj);

returnjson.toString();

}

/***//**

*将java对象转换成json字符串,并设定日期格式

*@paramjavaObj

*@paramdataFormat

*@return

*/

publicstaticStringgetJsonString4JavaPOJO(ObjectjavaObj,StringdataFormat)...{

JSONObjectjson;

JsonConfigjsonConfig=configJson(dataFormat);

json=JSONObject.fromObject(javaObj,jsonConfig);

returnjson.toString();

}

/***//**

*@paramargs

*/

publicstaticvoidmain(String[]args)...{

//TODO自动生成方法存根

}

/***//**

*JSON时间解析器具

*@paramdatePattern

*@return

*/

publicstaticJsonConfigconfigJson(StringdatePattern)...{

JsonConfigjsonConfig=newJsonConfig();

jsonConfig.setExcludes(newString[]...{""});

jsonConfig.setIgnoreDefaultExcludes(false);

jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT);

jsonConfig.registerJsonValueProcessor(Date.class,

newDateJsonValueProcessor(datePattern));

returnjsonConfig;

}

/***//**

*

*@paramexcludes

*@paramdatePattern

*@return

*/

publicstaticJsonConfigconfigJson(String[]excludes,

StringdatePattern)...{

JsonConfigjsonConfig=newJsonConfig();

jsonConfig.setExcludes(excludes);

jsonConfig.setIgnoreDefaultExcludes(false);

jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT);

jsonConfig.registerJsonValueProcessor(Date.class,

newDateJsonValueProcessor(datePattern));

returnjsonConfig;

}

}

/***//**

*linkwise

*/

packagecom.linghui.common.util.jsonutil;

importjava.text.DateFormat;

importjava.text.SimpleDateFormat;

importjava.util.Date;

importnet.sf.json.JsonConfig;

importnet.sf.json.processors.JsonValueProcessor;

/***//**

*@author</br><ahref="mailto:fx19800215@163.com">robert.feng</a>

*

*/

publicclassDateJsonValueProcessorimplementsJsonValueProcessor...{

publicstaticfinalStringDEFAULT_DATE_PATTERN="yyyy-MM-dd";

privateDateFormatdateFormat;

/***//**

*构造方法.

*

*@paramdatePattern日期格式

*/

publicDateJsonValueProcessor(StringdatePattern)...{

if(null==datePattern)

dateFormat=newSimpleDateFormat(DEFAULT_DATE_PATTERN);

else

dateFormat=newSimpleDateFormat(datePattern);

}

/**//*(非Javadoc)

*@seenet.sf.json.processors.JsonValueProcessor#processArrayValue(java.lang.Object,net.sf.json.JsonConfig)

*/

publicObjectprocessArrayValue(Objectarg0,JsonConfigarg1)...{

//TODO自动生成方法存根

returnprocess(arg0);

}

/**//*(非Javadoc)

*@seenet.sf.json.processors.JsonValueProcessor#processObjectValue(java.lang.String,java.lang.Object,net.sf.json.JsonConfig)

*/

publicObjectprocessObjectValue(Stringarg0,Objectarg1,JsonConfigarg2)...{

//TODO自动生成方法存根

returnprocess(arg1);

}

privateObjectprocess(Objectvalue)...{

returndateFormat.format((Date)value);

}

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读