package com.jxtech.base.util; import java.util.ArrayList; 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; /** * json转换工具 jww * * @date 2015-3-6 上午10:40:59 */ public class JsonUtils { /** * json 转换成list * * @param <T> * @param json * @param clazz * @return */ @SuppressWarnings("unchecked") public static <T> List<T> json2List(String json, Class<T> clazz) { List<T> result = null; JSONArray jsonobj = JSONArray.fromObject(json); result = (List<T>) JSONArray.toCollection(jsonobj, clazz); return result; } /** * list 转换成json * * @param list * @return */ public static String list2Json(List<?> list) { JSONArray jsonArray = JSONArray.fromObject(list); return jsonArray.toString(); } /** * 将String 转换成Map * @param jsonStr * @return */ @SuppressWarnings("unchecked") public static Map<String, Object> parseJson2Map(String jsonStr) { Map<String, Object> map = new HashMap<String, Object>(); // 最外层解析 JSONObject json = JSONObject.fromObject(jsonStr); for (Object k : json.keySet()) { Object v = json.get(k); // 如果内层还是数组的话,继续解析 if (v instanceof JSONArray) { List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); Iterator<JSONObject> it = ((JSONArray) v).iterator(); while (it.hasNext()) { JSONObject json2 = it.next(); list.add(parseJson2Map(json2.toString())); } map.put(k.toString(), list); } else { map.put(k.toString(), v); } } return map; } }
java对Json操作
猜你喜欢
转载自awen7916.iteye.com/blog/2211015
今日推荐
周排行