1. 程式人生 > >Spring從Request中獲取Json格式的資料

Spring從Request中獲取Json格式的資料

第一種方法,獲取post請求傳送的Json資料
	public static String JsonReq(HttpServletRequest request) {
		BufferedReader br;
		StringBuilder sb = null;
		String reqBody = null;
		try {
			br = new BufferedReader(new InputStreamReader(
					request.getInputStream()));
			String line = null;
			sb = new StringBuilder();
			while ((line = br.readLine()) != null) {
				sb.append(line);
			}
			reqBody = URLDecoder.decode(sb.toString(), "UTF-8");
			reqBody = reqBody.substring(reqBody.indexOf("{"));
			request.setAttribute("inputParam", reqBody);
			System.out.println("JsonReq reqBody>>>>>" + reqBody);
			return reqBody;
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return "jsonerror";
		}
	}

第二種方法,獲取post、get請求傳送的資料
	public static String getParamString(HttpServletRequest request) {
		Map<String, String[]> map = request.getParameterMap();
		StringBuilder sb = new StringBuilder();
		String reqBody = null;
		try {
			for (Entry<String, String[]> e : map.entrySet()) {
				sb.append(e.getKey()).append("=");
				String[] value = e.getValue();
				if (value != null && value.length == 1) {
					sb.append(value[0]).append("&");
				} else {
					sb.append(Arrays.toString(value)).append("\n");
				}
			}
			reqBody = URLDecoder.decode(sb.toString(), "UTF-8");
			if (reqBody.contains("{") && reqBody.contains("}")) {
				reqBody = reqBody.substring(reqBody.indexOf("{"));
				reqBody = reqBody.substring(0, reqBody.lastIndexOf("}") + 1);
			} else if (reqBody.contains("&")) {
				reqBody = reqBody.substring(0, reqBody.lastIndexOf("&"));
			}
		} catch (UnsupportedEncodingException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		} finally {
			System.out.println("JsonReq reqBody>>>>>" + reqBody);
		}
		return reqBody;
	}

相關推薦

SpringRequest獲取Json格式資料

第一種方法,獲取post請求傳送的Json資料 public static String JsonReq(HttpServletRequest request) { BufferedReader br; StringBuilder sb = null; Stri

springMVC攔截器Request獲取Json格式並解決request的請求流只能讀取一次的問題

背景     在使用SSM(你問我什麼叫SSM,我一拳錘爆你的狗頭)做開發的時候,經常會使用@RequestBody註解,這個註解是非常的好用。但是如果你想在請求引數傳到後臺的時候做一個引數檢驗,當然可以!使用SpringMVC的攔截器,在攔截器裡把request的

androidassets獲取json資料

1.首先是匯入json檔案 [ { "actual": "103", "createTime": "Apr 10, 2017 12:04:14 AM", "economicId": 518, "forecast":

C#對於json格式資料的處理

基本環境 vs2013 .NetFramework4.5 名稱空間:using Newtonsoft.Json.Linq Json字串不知道key值如何獲得value //假設瀏覽器返回的資料如下:     string response={"672":

python TXT解析json格式

txt中的json格式: with open(r'Zhan.txt','r', encoding = 'utf-8') as file_open: data = json.load(fil

Android生成json格式資料的幾種方法

String生成的json資料有兩種 1 String json="[{'name':'tom','age':12},{'name':'jack','age':13}]"; JSONArray a

request獲取當前請求的檔案列表

/** * 獲取當前請求中的檔案列表 * * @param request * @return */ protected List<MultipartFile> g

request獲取檔案流的兩種方式

Collection<Part> parts = req.getParts(); for (Iterator<Part> iterator = parts.iterator(); iterator.hasNext();) {     Part part = iterator.next(

Spring mvc 使用 jackson2 返回json格式資料資料的構成

xml: <bean id="viewResolver" class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver"> <pro

request獲取IP

package cn.hancloud.magic.util; import javax.servlet.http.HttpServletRequest; import java.net.InetAddress; import java.net.UnknownHostEx

如何在Hive使用Json格式資料

表示感謝! 總體來說,有兩大類方法: 1、將json以字串的方式整個入Hive表,然後使用LATERAL VIEW json_tuple的方法,獲取所需要的列名。 2、將json拆成各個欄位,入Hive表。這將需要使用第三方的SerDe,例如:https://code.g

Spring MVC 實現RESTful 返回JSON格式資料

在Java後端的日常開發中,系統間呼叫通過使用json格式資料,本文將向你展示如何將物件轉換成json格式並通過Spring MVC框架返回給呼叫者。 開發工具配置 Spring 4.2.7.RELEASE Jackson 2.6.7 JDK 1.7

jsjson格式資料獲取特定物件

寫個方法獲取: function getJsonValue(obj,name){ var result = null; var value = null; for(var key in obj){ valu

獲取request請求post提交的JSON格式資料 並轉化成bean

專案在互動過程中,一般會使用json格式進行資料的傳輸 . 需要把一些實體bean轉換成json格式, 有需要把json格式轉化成bean. 下面就是一個工具類,使用者 json串和java bean之間相互轉換 import org.codehaus.jack

Servlet如何獲取ajaxjson格式傳入的資料

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

request獲取post的json物件資料content-type=“text/plain”

/** *獲取 request 中用POST方式"Content-type"是 * "text/plain"傳送的 json資料 * @author: Simon * @date: 2017年8月6日 下午7:44:09 * @param request * @r

ajax讀取json格式資料或者說獲取瀏覽器XHR資料

XHR中有這樣兩組json資料 通過getJSON獲取 $.getJSON("{% url villa:get_expect pk=object.id %}",//url地址

Servlet如何獲取ajaxjson格式傳入的資料

$('#but_json_json').click(function(){             var j ={"name":"王","password":123456};                        $.ajax(                  

為您解惑:jQuery$.getJSON( )的使用方法簡介之獲取JSON格式資料.........

jQuery中的$.getJSON( )方法函式主要用來從伺服器載入json編碼的資料,它使用的是GET HTTP請求。 使用方法:$.getJSON( url [, data ] [, success(data, textStatus, XHR) ] ) url是必選引數

hive獲取資料

MySQL中獲取資料 public RestMsg<Object> getZhen( HttpServletRequest request) { RestMsg<Object> rm = new RestMsg<Object>();