最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Springboot之接收json字符串的兩種方式

 更新時間:2020年09月16日 08:33:32   作者:狂飆的yellowcong  
這篇文章主要介紹了Springboot之接收json字符串的兩種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

第一種方式、通過關鍵字段@RequestBody,標明這個對象接收json字符串。還有第二種方式,直接通過request來獲取流。在spring中,推薦使用。

代碼地址

https://gitee.com/yellowcong/springboot-demo/tree/master/springboot-json

項目結構

其實項目里面沒啥類容,就是一個控制器和pom.xml配置

這里寫圖片描述

配置fastjson

添加fastjson的依賴到pom.xml中

<dependency>
  <groupId>com.alibaba</groupId>
  <artifactId>fastjson</artifactId>
  <version>${fastjson.version}</version>
</dependency>

1、通過@RequestBody 接收json

直接通過@RequestBody 的方式,直接將json的數(shù)據注入到了JSONObject里面了。

/**
 * 創(chuàng)建日期:2018年4月6日<br/>
 * 代碼創(chuàng)建:黃聰<br/>
 * 功能描述:通過request的方式來獲取到json數(shù)據<br/>
 * @param jsonobject 這個是阿里的 fastjson對象
 * @return
 */
@ResponseBody
@RequestMapping(value = "/json/data", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public String getByJSON(@RequestBody JSONObject jsonParam) {
  // 直接將json信息打印出來
  System.out.println(jsonParam.toJSONString());

  // 將獲取的json數(shù)據封裝一層,然后在給返回
  JSONObject result = new JSONObject();
  result.put("msg", "ok");
  result.put("method", "json");
  result.put("data", jsonParam);

  return result.toJSONString();
}

2、通過Request獲取

通過request的對象來獲取到輸入流,然后將輸入流的數(shù)據寫入到字符串里面,最后轉化為JSON對象。

/**
 * 創(chuàng)建日期:2018年4月6日<br/>
 * 代碼創(chuàng)建:黃聰<br/>
 * 功能描述:通過HttpServletRequest 的方式來獲取到json的數(shù)據<br/>
 * @param request
 * @return
 */
@ResponseBody
@RequestMapping(value = "/request/data", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public String getByRequest(HttpServletRequest request) {

  //獲取到JSONObject
  JSONObject jsonParam = this.getJSONParam(request);

  // 將獲取的json數(shù)據封裝一層,然后在給返回
  JSONObject result = new JSONObject();
  result.put("msg", "ok");
  result.put("method", "request");
  result.put("data", jsonParam);

  return result.toJSONString();
}

/**
 * 創(chuàng)建日期:2018年4月6日<br/>
 * 代碼創(chuàng)建:黃聰<br/>
 * 功能描述:通過request來獲取到json數(shù)據<br/>
 * @param request
 * @return
 */
public JSONObject getJSONParam(HttpServletRequest request){
  JSONObject jsonParam = null;
  try {
    // 獲取輸入流
    BufferedReader streamReader = new BufferedReader(new InputStreamReader(request.getInputStream(), "UTF-8"));

    // 寫入數(shù)據到Stringbuilder
    StringBuilder sb = new StringBuilder();
    String line = null;
    while ((line = streamReader.readLine()) != null) {
      sb.append(line);
    }
    jsonParam = JSONObject.parseObject(sb.toString());
    // 直接將json信息打印出來
    System.out.println(jsonParam.toJSONString());
  } catch (Exception e) {
    e.printStackTrace();
  }
  return jsonParam;
}

3、測試

測試中,我訪問了json和 request兩個類,來獲取反回的信息,可以卡懂啊,返回的 method字段不一樣,我這么做是為了區(qū)分,我訪問了兩個方法,而不是一個方法,反回的Content-Typeapplication/json;charset=UTF-8

這里寫圖片描述

參考文章

https://www.cnblogs.com/yoyotl/p/7026566.html

到此這篇關于Springboot之接收json字符串的兩種方式的文章就介紹到這了,更多相關Springboot之接收json字符串的兩種方式內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • java gui詳解貪吃蛇小游戲實現(xiàn)流程

    java gui詳解貪吃蛇小游戲實現(xiàn)流程

    剛開始學JAVA GUI,就練手寫了一個小時候經常在諾基亞上玩的一個小游戲__貪吃蛇.做的比較簡單,但還是可以玩的.感興趣的朋友快來看看吧
    2021-11-11
  • Java?spring?mvc請求詳情介紹

    Java?spring?mvc請求詳情介紹

    這篇文章主要介紹了Java?spring?mvc請求詳情,mvc是spring源碼中的一個子模塊,下文關于spring?mvc請求的相關資料做簡單介紹,需要的小伙伴可以參考一下,希望對你有所幫助
    2022-03-03
  • 梳理總結Java?static關鍵字的方法作用

    梳理總結Java?static關鍵字的方法作用

    這篇文章主要介紹了梳理總結Java?static關鍵字的方法作用,?static?關鍵字可以用來修飾的成員變量和成員方法,被修飾的成員是屬于類的,而不是單單是屬于某個對象的
    2022-06-06
  • java 讀取文件方法的總結

    java 讀取文件方法的總結

    這篇文章主要介紹了java 讀取文件方法的總結的相關資料,這里提供文件讀取5種方法并附實例,需要的朋友可以參考下
    2017-08-08
  • RocetMQ搭建步驟與問題解決之道

    RocetMQ搭建步驟與問題解決之道

    這篇文章主要給大家介紹了關于RocetMQ搭建步驟與問題解決之道的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • java 中 MD5加密的實例

    java 中 MD5加密的實例

    這篇文章主要介紹了java 中 MD5加密的實例的相關資料,通過本文希望能幫助到大家,需要的朋友可以參考下
    2017-09-09
  • springmvc實現(xiàn)json交互-requestBody和responseBody

    springmvc實現(xiàn)json交互-requestBody和responseBody

    本文主要介紹了springmvc實現(xiàn)json交互-requestBody和responseBody的相關知識。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • SpringMVC中文亂碼踩坑記錄

    SpringMVC中文亂碼踩坑記錄

    這篇文章主要介紹了SpringMVC中文亂碼踩坑記錄,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • Java源碼解析之可重入鎖ReentrantLock

    Java源碼解析之可重入鎖ReentrantLock

    今天小編就為大家分享一篇關于Java源碼解析之可重入鎖ReentrantLock,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • 深入了解Java File分隔符和Path分隔符的使用

    深入了解Java File分隔符和Path分隔符的使用

    不同的操作系統(tǒng)使用不同的字符作為文件和路徑分隔符。當我們的應用程序需要在多個平臺上運行時,我們需要正確處理這些問題。Java幫助我們選擇一個合適的分隔符,本文就來聊聊Java中File分隔符和 Path分隔符的使用
    2022-07-07

最新評論

闽清县| 阿瓦提县| 河曲县| 吴旗县| 古丈县| 登封市| 阿城市| 襄樊市| 东兰县| 泰安市| 浑源县| 英德市| 顺义区| 沙雅县| 永平县| 两当县| 小金县| 溧阳市| 丰台区| 汨罗市| 吉安县| 民权县| 新巴尔虎右旗| 昌吉市| 洪洞县| 牡丹江市| 新河县| 北流市| 班玛县| 湖南省| 大化| 淅川县| 丹东市| 泰安市| 汉阴县| 新平| 开鲁县| 遂昌县| 武宁县| 宝鸡市| 光泽县|