一个java处理JSON格式数据的通用类(一)
本来想自己写一下的,可是发现这篇文件写的不错,就直接贴上来了
文件出自http://blog.csdn.net/wingfeng19800215/archive/2008/03/19/2198275.aspx
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;
import net.sf.json.util.CycleDetectionStrategy;
import com.linghui.common.util.DateUtil;
import com.linghui.common.util.jsonutil.DateJsonValueProcessor;
/** *//**
* @author </br> <a href="mailto:fx19800215@163.com"> robert.feng</a>
*
*/
public class JsonUtil ...{
/** *//**
* 从一个JSON 对象字符格式中得到一个java对象
* @param jsonString
* @param pojoCalss
* @return
*/
public static Object getObject4JsonString(String jsonString,Class pojoCalss)...{
Object pojo;
JSONObject jsonObject = JSONObject.fromObject( jsonString );
pojo = JSONObject.toBean(jsonObject,pojoCalss);
return pojo;
}
/** *//**
* 从json HASH表达式中获取一个map,改map支持嵌套功能
* @param jsonString
* @return
*/
public static Map getMap4Json(String jsonString)...{
JSONObject jsonObject = JSONObject.fromObject( jsonString );
Iterator keyIter = jsonObject.keys();
String key;
Object value;
Map valueMap = new HashMap();
while( keyIter.hasNext())
...{
key = (String)keyIter.next();
value = jsonObject.get(key);
valueMap.put(key, value);
}
return valueMap;
}
/** *//**
* 从json数组中得到相应java数组
* @param jsonString
* @return
*/
public static Object[] getObjectArray4Json(String jsonString)...{
JSONArray jsonArray = JSONArray.fromObject(jsonString);
return jsonArray.toArray();
}
/** *//**
* 从json对象集合表达式中得到一个java对象列表
* @param jsonString
* @param pojoClass
* @return
*/
public static List getList4Json(String jsonString, Class pojoClass)...{
JSONArray jsonArray = JSONArray.fromObject(jsonString);
JSONObject jsonObject;
Object pojoValue;
List list = new ArrayList();
for ( int i = 0 ; i<jsonArray.size(); i++)...{
jsonObject = jsonArray.getJSONObject(i);
pojoValue = JSONObject.toBean(jsonObject,pojoClass);
list.add(pojoValue);
}
return list;
}