`

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

    博客分类:
  • JSON
 
阅读更多

请求格式

[{"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;
	}

 

 

  

分享到:
评论

相关推荐

    浅谈图片上传利用request.getInputStream()获取文件流时遇到的问题

    下面小编就为大家带来一篇浅谈图片上传利用request.getInputStream()获取文件流时遇到的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    浅谈request.getinputstream只能读取一次的问题

    下面小编就为大家带来一篇浅谈request.getinputstream只能读取一次的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    postman调试接口工具

    在我们平时开发中,特别是需要与接口打交道时,无论是写接口还是用接口,拿到接口后肯定都得提前测试一下,这样的话就非常需要有一个比较给力的Http请求模拟工具,现在流行的这种工具也挺多的,像火狐浏览器插件-...

    servlet电子书籍 pdf格式

    request.getInputStream()方法................................................8 request.getReader()方法 .......................................................8 request.getParameter(String name)方法,...

    AndroidHttpURLConnection发送GET请求

    读取返回的输入流中的数据,并将其中的数据转换为byte数组 使用InputStream 的read方法以及ByteArrayOutputStream的wirte方法 inputStream.read(buffer) outputStream.write(buffer, 0, len) outputStream....

    JAVA发送POST请求,如何使用JAVA发送POST请求

    如果您正在寻找一份JAVA客户端发送POST请求的示例代码,那么我们的资源库将为您提供一切所需。...您可以根据自己的需求和场景,修改示例代码中的请求参数和响应处理方法,并将其应用到实际项目中。

    通过HttpURLConnection获取SESSIONID

    import java.util.Map; public class HttpTest { private HttpURLConnection hc = null; private static final String oneUrlString = "http://xxx.jsp"; private static final String twoUrlString = ...

    Android HttpURLConnection 读取网络图片.rar

     b.setOnClickListener//为图片浏览按钮添加监听器  这次的HttpURLConnection仅针对Http连接,效率胜于URLConnection。new URL对象将网址传入  HttpURLConnection conn = (HttpURLConnection) imageUrl.open...

    ognl源码包值得用一用

    很好的xwork的资源包public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { DiskFileItemFactory factory = new DiskFileItemFactory(); ...

    ServletRequest过滤程序

    提供了ServletRequest过滤程序,重新构造对象内容,并有效规避request.getParameter()、request.getInputStream()冲突的问题,同时提供了对跨站脚本攻击XSS和SQL注入的过滤程序。

    Socket中InputStream的read方法的阻塞特性

    NULL 博文链接:https://superherosk123.iteye.com/blog/611933

    整合的开源头像上传剪裁组件(flash)兼容性好

    // 将BufferedImage变量写入文件中。 ImageIO.write(br, "jpg", file1); "imgUrl": "test.jpg", 初始的照片 function uploadevent(status) { 接收来自action的返回值,json个数 map.put("status", ("1;"+rePath+...

    android 开发中用json解析客户端与服务器端的代码

    //从链接中获取一个输入流对象 InputStream inStream = conn.getInputStream(); //调用数据流处理方法 byte[] data = StreamTool.readInputStream(inStream); String json = new String(data); //构建...

    聊天的终端和服务器.txt

    设服务器端程序监听端口为8629, 当收到客户端信息后,首先判断是否是"BYE",若是,则立即向对方发送"BYE",然后关闭监听,结束程序。若不是,则在屏幕上输出收到的信息,并由键盘上输入发送到对方的应答信息。请编写...

    实现视频在线播放.zip

    public void getVideo(HttpServletRequest request,HttpServletResponse response,@RequestParam("path")String videoPath) throws IOException { System.out.println("来请求了!路径:"+videoPath); //1.创建...

    J2ME入门教程.10(j2me与Servlet相互通讯)编写和配置Servlet服务端

    ServletInputStream input_Stream = request.getInputStream(); DataInputStream d_Inputstream = new DataInputStream(input_Stream ); String data_MIDlet = d_Inputstream.readUTF(); d_Inputstream.close();...

    安卓第八天笔记--网络编程二

    1.获取输入的URL地址,判断是否为空2.建立子线程,获取URl对象newURL(path)3.打开连接获取HttpURLConnectionconn=(HttpURLConnection)url.openConnection();4.设置连接超时时间conn.setConnectionTimeOut(5000)毫秒5....

    aspose-cells-8.5.2.jar带license.xml

    BufferedReader br = new BufferedReader(new InputStreamReader(resource.getInputStream())); License license = new License(); license.setLicense(br); } catch (Exception var3) { var3.printStackTrace...

    基于JAVA的聊天系统的设计与实现

    服务器采用多线程以满足多用户的请求,并通过创建一个ServerSocket对象来监听来自客户的连接请求,默认端口为9527,然后无限循环调用accept()方法接受客户程序的连接。 服务器线程源码: package qq.server; import...

Global site tag (gtag.js) - Google Analytics