日期:2014-05-16 浏览次数:20608 次
一json-lib.jar开发包使用依赖包 
json-lib.jar开发包使用需要依赖包以下开发包: 
Json-lib requires (at least) the following dependencies in your classpath: 
??? * jakarta commons-lang 2.4 
??? * jakarta commons-beanutils 1.7.0 
??? * jakarta commons-collections 3.2 
??? * jakarta commons-logging 1.1.1 
??? * ezmorph 1.0.6 
.二. 
public class JsonUtil { 
/**页面传至后台时,json数据在request的参数名称*/ 
public final static String JSON_ATTRIBUTE = "json"; 
public final static String JSON_ATTRIBUTE1 = "json1"; 
public final static String JSON_ATTRIBUTE2 = "json2"; 
public final static String JSON_ATTRIBUTE3 = "json3"; 
public final static String JSON_ATTRIBUTE4 = "json4"; 
/** 
* 从一个JSON 对象字符格式中得到一个java对象,形如: 
* {"id" : idValue, "name" : nameValue, "aBean" : {"aBeanId" : aBeanIdValue, ...}} 
* @param object 
* @param clazz 
* @return 
*/ 
public static Object getDTO(String jsonString, Class clazz){ 
JSONObject jsonObject = null; 
try{ 
setDataFormat2JAVA(); 
jsonObject = JSONObject.fromObject(jsonString); 
}catch(Exception e){ 
e.printStackTrace(); 
} 
return JSONObject.toBean(jsonObject, clazz); 
} 
/** 
* 从一个JSON 对象字符格式中得到一个java对象,其中beansList是一类的集合,形如: 
* {"id" : idValue, "name" : nameValue, "aBean" : {"aBeanId" : aBeanIdValue, ...}, 
* beansList:[{}, {}, ...]} 
* @param jsonString 
* @param clazz 
* @param map 集合属性的类型 (key : 集合属性名, value : 集合属性类型class) eg: ("beansList" : Bean.class) 
* @return 
*/ 
public static Object getDTO(String jsonString, Class clazz, Map map){ 
JSONObject jsonObject = null; 
try{ 
setDataFormat2JAVA(); 
jsonObject = JSONObject.fromObject(jsonString); 
}catch(Exception e){ 
e.printStackTrace(); 
} 
return JSONObject.toBean(jsonObject, clazz, map); 
} 
/** 
* 从一个JSON数组得到一个java对象数组,形如: 
* [{"id" : idValue, "name" : nameValue}, {"id" : idValue, "name" : nameValue}, ...] 
* @param object 
* @param clazz 
* @return 
*/ 
public static Object[] getDTOArray(String jsonString, Class clazz){ 
setDataFormat2JAVA(); 
JSONArray array = JSONArray.fromObject(jsonString); 
Object[] obj = new Object[array.size()]; 
for(int i = 0; i < array.size(); i++){ 
JSONObject jsonObject = array.getJSONObject(i); 
obj[i] = JSONObject.toBean(jsonObject, clazz); 
} 
return obj; 
} 
/** 
* 从一个JSON数组得到一个java对象数组,形如: 
* [{"id" : idValue, "name" : nameValue}, {"id" : idValue, "name" : nameValue}, ...] 
* @param object 
* @param clazz 
* @param map 
* @return 
*/ 
public static Object[] getDTOArray(String jsonString, Class clazz, Map map){ 
setDataFormat2JAVA(); 
JSONArray array = JSONArray.fromObject(jsonString); 
Object[] obj = new Object[array.size()]; 
for(int i = 0; i < array.size(); i++){ 
JSONObject jsonObject = array.getJSONObject(i); 
obj[i] = JSONObject.toBean(jsonObject, clazz, map); 
} 
return obj; 
} 
/** 
* 从一个JSON数组得到一个java对象集合 
* @param object 
* @param clazz 
* @return 
*/ 
public static List getDTOList(String jsonString, Class clazz){ 
setDataFormat2JAVA(); 
JSONArray array = JSONArray.fromObject(jsonString); 
List list = new ArrayList(); 
for(Iterator iter = array.iterator(); iter.hasNext();){ 
JSONObject jsonObject = (JSONObject)iter.next(); 
list.add(JSONObject.toBean(jsonObject, clazz)); 
} 
return list; 
} 
/** 
* 从一个JSON数组得到一个java对象集合,其中对象中包含有集合属性 
* @param object 
* @param clazz 
* @param map 集合属性的类型 
* @return 
*/ 
public static List getDTOList(String jsonString, Class clazz, Map map){ 
setDataFormat2JAVA(); 
JSONArray array = JSONArray.fromObject(jsonString); 
List list = new ArrayList(); 
for(Iterator iter = array.iterator(); iter.hasNext();){ 
JSONObject jsonObject = (JSONObject)iter.next(); 
list.add(JSONObject.toBean(jsonObject, clazz, map)); 
}