Java-JsonUtil工具类

mac2022-06-30  112

import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class JsonUtil { /** * 对象转换成JSON字符串 * * @param obj * 需要转换的对象 * @return 对象的string字符 */ public static String objToJson(Object obj) { JSONObject jSONObject = JSONObject.fromObject(obj); return jSONObject.toString(); } /** * JSON字符串转换成对象 * * @param jsonString * 需要转换的字符串 * @param type * 需要转换的对象类型 * @return 对象 */ public static <T> T jsonToBean(String jsonString, Class<T> type) { JSONObject jsonObject = JSONObject.fromObject(jsonString); return jsonToBean(jsonObject, type); } /** * jsonObject 转换为javabean * * @param jsonObject * @param type * @return */ @SuppressWarnings("unchecked") public static <T> T jsonToBean(JSONObject jsonObject, Class<T> type) { return (T) JSONObject.toBean(jsonObject, type); } /** * json 转换为 beanList * * @param jsonArray * @param type * @return */ @SuppressWarnings({ "unchecked", "rawtypes" }) public static List jsonToBeanList(JSONArray jsonArray, Class type) { List<Object> list = new ArrayList<Object>(); for (Object obj : jsonArray) { if (obj instanceof JSONArray) { list.add(jsonToBeanList((JSONArray) obj, type)); } else if (obj instanceof JSONObject) { list.add(jsonToBean((JSONObject) obj, type)); } else { list.add(obj); } } return list; } /** * 将JSONArray对象转换成list集合 * * @param jsonArr * @return */ public static List<Object> jsonToMapList(JSONArray jsonArr) { List<Object> list = new ArrayList<Object>(); for (Object obj : jsonArr) { if (obj instanceof JSONArray) { list.add(jsonToMapList((JSONArray) obj)); } else if (obj instanceof JSONObject) { list.add(jsonToMap((JSONObject) obj)); } else { list.add(obj); } } return list; } /** * 将json字符串转换成map对象 * * @param json * @return */ public static Map<String, Object> jsonToMap(String json) { JSONObject obj = JSONObject.fromObject(json); return jsonToMap(obj); } /** * 将JSONObject转换成map对象 * * @param json * @return */ public static Map<String, Object> jsonToMap(JSONObject obj) { Set<?> set = obj.keySet(); Map<String, Object> map = new HashMap<String, Object>(set.size()); for (Object key : obj.keySet()) { Object value = obj.get(key); if (value instanceof JSONArray) { map.put(key.toString(), jsonToMapList((JSONArray) value)); } else if (value instanceof JSONObject) { map.put(key.toString(), jsonToMap((JSONObject) value)); } else { map.put(key.toString(), obj.get(key)); } } return map; } }

转载于:https://www.cnblogs.com/bilaisheng/p/10211023.html

相关资源:JsonUtil.java
最新回复(0)