JSON-Lib方式
/** * 函數注釋:parseJSON2Map()<br> * 用途:該方法用於json數據轉換為<Map<String, Object> * @param jsonStr * @return */ 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; } /** * 函數注釋:parseJSON2MapString()<br> * 用途:該方法用於json數據轉換為<Map<String, String><br> */ public static Map<String, String> parseJSON2MapString(String jsonStr){ Map<String, String> map = new HashMap<String, String>(); //最外層解析 JSONObject json = JSONObject.fromObject(jsonStr); for(Object k : json.keySet()){ Object v = json.get(k); if(null!=v){ map.put(k.toString(), v.toString()); } } return map; }
Jackson方式
/** * Map轉換JSON * @param map * @return * @throws Exception */ public static String mapConvert2JSON(Map map) throws Exception{ ObjectMapper mapper = new ObjectMapper(); return mapper.writeValueAsString(map); } /** * JSON 轉換 Map * @param json */ public static Map readJson2Map(String json) throws Exception{ ObjectMapper objectMapper = new ObjectMapper(); Map<String, Map<String, Object>> maps = objectMapper.readValue(json, Map.class); /*Set<String> key = maps.keySet(); Iterator<String> iter = key.iterator(); while (iter.hasNext()) { String field = iter.next(); System.out.println(field + ":" + maps.get(field)); }*/ return maps; }
本段代碼來自 http://www.ibloger.net/article/2470.html
