JSON转换MAP

public static Map<String, Object> parseJsonToMap(String json){
	JSONObject jsonObj = JSONObject.fromObject(json);
	Map<String, Object> map = new HashMap<String, Object>();
	for(Object k : jsonObj.keySet()){
		Object v = jsonObj.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(parseJsonToMap(json2.toString()));  
			}
			map.put(k.toString(), list);
		} else {
			map.put(k.toString(), v);
		}
	}
	return map;
}

net.sf.json包转换方法,Jackson使用ObjectMapper.ReadValue方法

你可能感兴趣的:(JSON转换MAP)