`

从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;
	}

 

 

  

分享到:
评论

相关推荐

    spring mvc拦截器过滤json中的null值

    在`preHandle`方法中,我们可以读取请求体(request body),将其转换为JSON对象,然后遍历并替换null值为""(空字符串)。 ```java import org.springframework.web.servlet.HandlerInterceptor; import org....

    Spring4Shell的漏洞原理分析.doc

    然后,我们可以从 `requestParams` 对象中获取参数的值,并将其添加到模型中。 但是,如果我们将接收的类型从 `Map` 转成一个 POJO 的话,情况就会有所不同: ```java @RequestMapping(value="/register2", method...

    在JAVA类中解析GOOGLE MAP地址和反向解析纬经度

    在Java编程环境中,解析Google Map地址以及反向解析经纬度是一项常见的任务,特别是在地理信息系统(GIS)相关的项目中。Google Maps API提供了丰富的功能,包括地址转换(Geocoding)和反向地理编码(Reverse ...

    使用UrlConnection实现后台模拟http请求的简单实例

    这些数据会被转换成字符串并编码为字节序列,以便在请求体中发送。 ```java StringBuffer sbuf = new StringBuffer(); for (Entry, String&gt; entry : map.entrySet()) { sbuf.append(entry.getKey()).append("=")....

    一个java程序员的经验总结

    在日常开发中,可能会遇到需要将`BigDecimal`转换为`Double`的情况,但是直接尝试进行类型转换时会出现编译错误:“`java.math.BigDecimal cannot be cast to java.lang.Double`”。正确的做法是先将`BigDecimal`...

    java地址经纬度查询-百度接口

    在Java开发中,有时我们需要将一个具体的地址转换为地理坐标,即经纬度。这通常涉及到地理编码服务,而百度提供了一个这样的API接口,方便开发者进行地址与经纬度之间的转换。本教程将详细介绍如何使用Java调用百度...

    Java身份证识别接口封装

    本文将详细介绍如何使用Java封装百度身份证识别接口,并将其整合到你的项目中,以便于实现高效的身份验证服务。 首先,让我们理解JavaEE(Java企业版)的角色。JavaEE是一种用于构建分布式、多层的企业级应用的平台...

    Android通过Http连接MySQL 实现登陆/注册(数据库+服务器+客户端)

    // 将参数转换为POST数据格式 StringBuilder postData = new StringBuilder(); for (Map.Entry, String&gt; entry : params.entrySet()) { if (postData.length() != 0) postData.append('&'); postData.append...

    SpringMvc微信支付回调示例代码

    获取到XML字符串后,下一步通常是解析XML,将其转换为Map,然后根据业务需求进行验证和处理。这包括检查订单状态、验证签名、更新数据库等。这个过程通常涉及微信支付提供的SDK,例如调用其中的`WXPayData`类来解析...

    Spring Security基于json登录实现过程详解

    如果满足JSON登录的要求,接下来将读取请求流中的JSON数据,并将其转换为Map对象,然后通过key获取用户名和密码。代码如下: ```java public class MyAuthenticationFilter extends ...

    超级有影响力霸气的Java面试题大全文档

    redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。 23、EJB与JAVA BEAN的区别?  Java Bean 是可...

    springmvc图片上传及json数据转换过程详解

    这主要依赖于Spring MVC的自动消息转换机制,当返回值类型是String、int、Map、POJO等时,Spring会根据Accept请求头或者注解来确定使用哪个消息转换器进行转换。 为了更好地进行JSON数据转换,通常会引入一个JSON...

    微信支付java版V3验证数据合法性(Deom)

    在Java应用中,我们需要读取这个POST请求的输入流,将数据转换为字符串。以下代码展示了如何实现这一过程: ```java InputStream inStream = request.getInputStream(); ByteArrayOutputStream outSteam = new ...

    Java进阶之FileUpload完成上传的实例

    通过`ServletFileUpload`,我们可以解析HTTP请求中的多部分数据,并将它们转换为`FileItem`对象。为了防止中文文件名上传时出现乱码,我们需要设置`setHeaderEncoding`为UTF-8。 ```java ServletFileUpload ...

    axios实现简单文件上传功能

    2. 获取上传文件:在方法中,可以将`HttpServletRequest`转换为`MultipartHttpServletRequest`,这样可以获取到所有的上传文件。通过遍历文件映射获取文件对象,并进行处理。 ```java @PostMapping(value = "/...

Global site tag (gtag.js) - Google Analytics