从request.getInputStream中获取请求参数并将其转换为MAP

请求格式

[{"name":"sEcho","value":1},{"name":"iColumns","value":6},{"name":"sColumns","value":""},{"name":"iDisplayStart","value":0},{"name":"iDisplayLength","value":10},{"name":"mDataProp_0","value":null},{"name":"mDataProp_1","value":"C_INTERFACEPARAID"},{"name":"mDataProp_2","value":"C_DISPLAYNAME"},{"name":"mDataProp_3","value":"C_DICNAME"},{"name":"mDataProp_4","value":"C_DICCODE"},{"name":"mDataProp_5","value":null},{"name":"iSortCol_0","value":0},{"name":"sSortDir_0","value":"asc"},{"name":"iSortingCols","value":1},{"name":"bSortable_0","value":false},{"name":"bSortable_1","value":true},{"name":"bSortable_2","value":true},{"name":"bSortable_3","value":true},{"name":"bSortable_4","value":true},{"name":"bSortable_5","value":false}]
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
/**
	 * 从request中获取请求字符串
	 * 
	 * */
	public static String getResultFromRequest(HttpServletRequest req) {
		 StringBuilder sb = new StringBuilder(); 
		BufferedReader br;
		try {
			br = new BufferedReader(new InputStreamReader((ServletInputStream) req.getInputStream()));
			
			  String line = null;  
		        
		        while ((line = br.readLine()) != null) {  
		            sb.append(line);  
		        }  
		       
		} catch (IOException e) {
			e.printStackTrace();
		}  
     
       return sb.toString();
	}

如果获取的是json数组,转换为jsonarray 

JSONArray jsonry = JSONArray.fromObject(jsonParam);

如果是json

JSONObject json = JSONObject.fromObject(jsonParam);

再将jsonarray转换为map

/**
	 * 将JSONArray 转换为map
	 * 
	 * */
	public static Map<String,Object> convertJSONAryToMap(JSONArray jsonary){
		Map<String,Object> map = new HashMap<String,Object>(); 
		for(int i = 0;i<jsonary.size();i++){
			JSONObject json = jsonary.getJSONObject(i);
			
			map.put(json.getString("name"), json.get("value"));
		}

		return map;
	}

  

猜你喜欢

转载自xuantian.iteye.com/blog/2296733