net.sf.json工具类
/**
*JSON和JAVA的POJO相互转换工具类
*/
public final class JSONHelper {
/**
* 将数组转换成JSON
*
* @param object
* @return JSON
*/
public static String array2json(Object object) {
JSONArray jsonArray = JSONArray.fromObject(object);
return jsonArray.toString();
}
/**
* 将JSON转换成数组
*
* @param json
* JSON对象
* @param valueClz
* 数组中存放的对象的Class
* @return 数组
*/
public static Object json2Array(String json, Class valueClz) {
JSONArray jsonArray = JSONArray.fromObject(json);
return JSONArray.toArray(jsonArray, valueClz);
}
/**
* 将Collection转换成JSON
*
* @param object
* @return JSON
*/
public static String collection2json(Object object) {
JSONArray jsonArray = JSONArray.fromObject(object);
return jsonArray.toString();
}
/**
* 将Map转换成JSON
*
* @param object
* map
* @return JSON
*/
public static String map2json(Object object) {
JSONObject jsonObject = JSONObject.fromObject(object);
return jsonObject.toString();
}
/**
* 将JSON转换成Map
*
* @param keyArray
* Map的key
* @param json
* JSON
* @param valueClz
* Map中value的Class
* @return map
*/
public static Map json2Map(Object[] keyArray, String json, Class valueClz) {
JSONObject jsonObject = JSONObject.fromObject(json);
Map classMap = new HashMap();
for (int i = 0; i < keyArray.length; i++) {
classMap.put(keyArray[i], valueClz);
}
return (Map) JSONObject.toBean(jsonObject, Map.class, classMap);
}
/**
* 将POJO转换成JSON
*
* @param object
* POJO
* @return JSON
*/
public static String bean2json(Object object) {
JSONObject jsonObject = JSONObject.fromObject(object);
return jsonObject.toString();
}
/**
* 将JSON转换成POJO
*
* @param json
* JSON
* @param beanClz
* POJO的Class
* @return POJO
*/
public static Object json2Object(String json, Class beanClz) {
return JSONObject.toBean(JSONObject.fromObject(json), beanClz);
}
/**
* 将String转换成JSON
*
* @param key
* key
* @param value
* value
* @return JSON
*/
public static String string2json(String key, String value) {
JSONObject object = new JSONObject();
object.put(key, value);
return object.toString();
}
/**
* 将JSON转换成String
*
* @param key
* key
* @param json
* JSON
* @return string
*/
public static String json2String(String json, String key) {
JSONObject jsonObject = JSONObject.fromObject(json);
return jsonObject.get(key).toString();
}
/**
* 将List对象序列化为JSON文本
*
* @param list
* 对象集合
* @return JSON文本
*/
public static String toJSONString(List list) {
JSONArray jsonArray = JSONArray.fromObject(list);
return jsonArray.toString();
}
/**
* 将对象序列化为JSON文本
*
* @param object
* 对象
* @return JSON文本
*/
public static String toJSONString(Object object) {
JSONArray jsonArray = JSONArray.fromObject(object);
return jsonArray.toString();
}
/**
* 将JSON对象数组序列化为JSON文本
*
* @param jsonArray
* JSON对象数组
* @return JSON文本
*/
public static String toJSONString(JSONArray jsonArray) {
return jsonArray.toString();
}
/**
* 将JSON对象序列化为JSON文本
*
* @param jsonObject
* JSON对象
* @return JSON文本
*/
public static String toJSONString(JSONObject jsonObject) {
return jsonObject.toString();
}
/**
* 将对象转换为List对象
*
* @param object
* JSON文本
* @return List对象
*/
public static List toArrayList(Object object) {
List arrayList = new ArrayList();
JSONArray jsonArray = JSONArray.fromObject(object);
Iterator it = jsonArray.iterator();
while (it.hasNext()) {
JSONObject jsonObject = (JSONObject) it.next();
Iterator keys = jsonObject.keys();
while (keys.hasNext()) {
Object key = keys.next();
Object value = jsonObject.get(key);
arrayList.add(value);
}
}
return arrayList;
}
/**
* 将对象转换为JSON对象数组
*
* @param object
* 对象
* @return JSON对象数组
*/
public static JSONArray toJSONArray(Object object) {
return JSONArray.fromObject(object);
}
/**
* 将对象转换为JSON对象
*
* @param object
* 对象
* @return JSON对象
*/
public static JSONObject toJSONObject(Object object) {
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor());
return JSONObject.fromObject(object, jsonConfig);
}
/**
* 将对象转换为JSON对象
*
* @param object
* 对象
* @param excludes
* 过滤不需要转换的字段属性
* @return JSON对象
*/
public static JSONObject toJSONObject(Object object, String[] excludes) {
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.setExcludes(excludes);
jsonConfig.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor());
return JSONObject.fromObject(object, jsonConfig);
}
/**
* 将对象转换为HashMap
*
* @param object
* 对象
* @return HashMap
*/
public static HashMap toHashMap(Object object) {
HashMap data = new HashMap();
JSONObject jsonObject = JSONHelper.toJSONObject(object);
Iterator it = jsonObject.keys();
while (it.hasNext()) {
String key = String.valueOf(it.next());
Object value = jsonObject.get(key);
data.put(key, value);
}
return data;
}
/**
* 将对象转换为非实体类型(Map)的List
*
* @param object
* 对象
* @return List
*/
public static List