import net.sf.json.JSONArray;import net.sf.json.JSONObject;import java.util.*;public class JSONUtil { ???public JSONUtil() { ???} ???public static <T> String parseObj2JSON(T obj) { ???????if (obj == null) { ???????????return ""; ???????} ???????JSONObject jsonObj = JSONObject.fromObject(obj); ???????return jsonObj.toString(); ???} ???public static <T> T parseJSON2Obj(String jsonStr, Class clazz) { ???????JSONObject jsonObj = JSONObject.fromObject(jsonStr); ???????return (T) JSONObject.toBean(jsonObj, clazz); ???} ???public static <T> String parseList2JSON(List<T> objList) { ???????if (objList == null) { ???????????return ""; ???????} ???????JSONArray jsonArr = JSONArray.fromObject(objList); ???????return jsonArr.toString(); ???} ???public static <T> List<T> parseJSON2List(String jsonStr, Class clazz) { ???????JSONArray jsonArr = JSONArray.fromObject(jsonStr); ???????return (List<T>) JSONArray.toCollection(jsonArr, clazz); ???} ???public static <T> String parseMap2JSON(Map<String, T> map) { ???????if (map == null) { ???????????return ""; ???????} ???????JSONObject jsonObj = JSONObject.fromObject(map); ???????return jsonObj.toString(); ???} ???public static Map<String, Object> parseJSON2Map(String jsonStr) { ???????HashMap<String, Object> map = new HashMap<String, Object>(); ???????JSONObject jsonObj = JSONObject.fromObject(jsonStr); ???????Iterator var = jsonObj.keySet().iterator(); ???????while (var.hasNext()) { ???????????Object key = var.next(); ???????????Object val = jsonObj.get(key); ???????????if (val instanceof JSONArray) { ???????????????ArrayList<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); ???????????????Iterator it = ((JSONArray) val).iterator(); ???????????????while (it.hasNext()) { ???????????????????JSONObject json = (JSONObject) it.next(); ???????????????????list.add(parseJSON2Map(json.toString())); ???????????????} ???????????????map.put(key.toString(), list); ???????????} else { ???????????????map.put(key.toString(), val); ???????????} ???????} ???????return map; ???} ???public static <T> Map<String, T> parseJSON2Map(String jsonStr, Class clazz) { ???????HashMap map = new HashMap(); ???????JSONObject jsonObj = JSONObject.fromObject(jsonStr); ???????Iterator var = jsonObj.keySet().iterator(); ???????while (var.hasNext()) { ???????????Object key = var.next(); ???????????Object val = jsonObj.get(key); ???????????if (val instanceof JSONArray) { ???????????????ArrayList list = new ArrayList(); ???????????????Iterator it = ((JSONArray) val).iterator(); ???????????????while (it.hasNext()) { ???????????????????JSONObject json = (JSONObject) it.next(); ???????????????????list.add(parseJSON2Map(json.toString(), clazz)); ???????????????} ???????????????map.put(key.toString(), list); ???????????} else if (val instanceof JSONObject) { ???????????????map.put(key.toString(), JSONObject.toBean((JSONObject) val, clazz)); ???????????} else { ???????????????map.put(key.toString(), val); ???????????} ???????} ???????return map; ???} ???public static String parseMapList2JSON(List<Map<String, Object>> mapList) { ???????if (mapList == null) { ???????????return ""; ???????} ???????JSONArray jsonArr = JSONArray.fromObject(mapList); ???????return jsonArr.toString(); ???} ???public static List<Map<String, Object>> parseJSON2List(String jsonStr) { ???????JSONArray jsonArr = JSONArray.fromObject(jsonStr); ???????ArrayList<Map<String, Object>> mapList = new ArrayList<Map<String, Object>>(); ???????Iterator it = jsonArr.iterator(); ???????while (it.hasNext()) { ???????????JSONObject json = (JSONObject) it.next(); ???????????mapList.add(parseJSON2Map(json.toString())); ???????} ???????return mapList; ???} ???public static <T> T parseJSON2Obj(String jsonStr, Class clazz, Map<String, Class> classMap) { ???????JSONObject jsonObj = JSONObject.fromObject(jsonStr); ???????return (T) JSONObject.toBean(jsonObj, clazz, classMap); ???} ???public static String encode(String str){ ???????return str.replace("\"", "\\\""); ???}}
json工具类
原文地址:https://www.cnblogs.com/dongfanghao/p/8267017.html