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

詳解json在SpringBoot中的格式轉換

 更新時間:2020年11月13日 09:50:26   作者:瑞新  
這篇文章主要介紹了詳解json在SpringBoot中的格式轉換,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

@RestController自動返回json

在這里插入圖片描述

/**
   * json 三種實現(xiàn)方法
   * 1 @RestController自動返回json
   */
  @GetMapping("/json")
  public Student getjson() {
    Student student = new Student("bennyrhys",158
    );
    return student;
  }

@ResponseBody+@Controller 組合返回json

在這里插入圖片描述

//@RestController
  @Controller
// 類名上方


  @GetMapping("/json")
  @ResponseBody
  public Student getjson() {
    Student student = new Student("bennyrhys",158
    );
    return student;
  }

在pom.xml 添加 阿里巴巴json jar包

在這里插入圖片描述

//@RestController
  @Controller
// 類名上方


@GetMapping("/fastjson")
  public void fastjson(HttpServletResponse response){
    Student student = new Student("bennyrhys",158);
    String data = JSON.toJSONString(student);


    try {
      sendJsonData(response, data);
    } catch (IOException e) {
      e.printStackTrace();
    }

  }

  protected void sendJsonData(HttpServletResponse response, String data) throws IOException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    out.println(data);
    out.flush();
    out.close();
  }

fastjson深入理解
fastJson對于json格式字符串的解析主要用到了一下三個類:

JSON:fastJson的解析器,用于JSON格式字符串與JSON對象及javaBean之間的轉換。
JSONObject:fastJson提供的json對象。
JSONArray:fastJson提供json數(shù)組對象。

toJSONString() 和 parseObject() 方法來將 Java 對象與 JSON 相互轉換。調(diào)用toJSONString方 法即可將對象轉換成 JSON 字符串,parseObject 方法則反過來將 JSON 字符串轉換成對象。

允許轉換預先存在的無法修改的對象(只有class、無源代碼)。
Java泛型的廣泛支持。
允許對象的自定義表示、允許自定義序列化類。
支持任意復雜對象(具有深厚的繼承層次和廣泛使用的泛型類型)。

JSONObject 當成一個 Map<String,Object> 來看
JSONArray當成一個 List 來看
JSON.toString(Object)----> return String
JSON.parse(String)----->return Object

String 和 JsonObject 和 JsonArray之間轉化
http://www.fzitv.net/article/199602.htm

1、String轉JSONObject 或 JSONArray

JSONObject jSONObject = JSONObject.parseObject(String);
JSONArray jsonArray= JSONArray.parseArray(String);

2、JSONObject中的數(shù)組提取為JSONArray
提取Result對應的數(shù)組

JSONArray jsonArray= jsonObject.getJSONArray(“Result”);

3、JSONArray提取為JSONObject

JSONObject jsonObject = jsonArray.getJSONObject(0);

在這里插入圖片描述

4、JSONObject獲取value

1、object.getString("key")

2、object.get("key")

JSONArray jsonArray= jsonObject.getJSONArray(“Result”);
JSONObject jsonObject = jsonArray.getJSONObject(0);

封裝json在entiy的body返回msg

ResponseEntity可以定義返回的HttpStatus(狀態(tài)碼)和HttpHeaders(消息頭:請求頭和響應頭)

HttpStatus(狀態(tài)碼)https://blog.csdn.net/csdn1844295154/article/details/78980174

HttpHeaders(消息頭:請求頭和響應頭)https://www.cnblogs.com/honghong87/articles/6941436.html

具體查看這些內(nèi)容的用法可以參考https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Content-Disposition

ResponseEntity返回body

JsonResponseServlet

import java.io.Serializable;

public class JsonResponse<T> implements Serializable {
  private Integer code;
  private String msg;
  private T result;

  public JsonResponse() {
  }

  public JsonResponse(Integer code, String msg, T result) {
    this.code = code;
    this.msg = msg;
    this.result = result;
  }

  public Integer getCode() {
    return code;
  }

  public void setCode(Integer code) {
    this.code = code;
  }

  public String getMsg() {
    return msg;
  }

  public void setMsg(String msg) {
    this.msg = msg;
  }

  public T getResult() {
    return result;
  }

  public void setResult(T result) {
    this.result = result;
  }

  public static class JsonResponseUtil {
    public static JsonResponse<Object> ok() {
      return ok(null);
    }

    public static <T> JsonResponse<T> ok(T result) {
      return new JsonResponse<>(0, "", result);
    }

    public static JsonResponse<Object> error(Integer code) {
      return error(code, "error!");
    }

    public static JsonResponse<Object> error(String msg) {
      return error(-1, msg);
    }

    public static JsonResponse<Object> error(Integer code, String msg) {
      return new JsonResponse<>(code, msg, null);
    }
  }
}

controller

return ResponseEntity.ok(JsonResponse.JsonResponseUtil.ok(source));

到此這篇關于詳解json在SpringBoot中的格式轉換的文章就介紹到這了,更多相關SpringBoot json格式轉換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • SpringBoot整合Spring?Boot?Admin實現(xiàn)服務監(jiān)控的方法

    SpringBoot整合Spring?Boot?Admin實現(xiàn)服務監(jiān)控的方法

    這篇文章主要介紹了SpringBoot整合Spring?Boot?Admin實現(xiàn)服務監(jiān)控,內(nèi)容包括Server端服務開發(fā),Client端服務開發(fā)其中Spring Boot Admin還可以對其監(jiān)控的服務提供告警功能,如服務宕機時,可以及時以郵件方式通知運維人員,感興趣的朋友跟隨小編一起看看吧
    2022-03-03
  • Java使用ObjectMapper的簡單示例

    Java使用ObjectMapper的簡單示例

    這篇文章主要介紹了Java使用ObjectMapper的簡單示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • Java HttpURLConnection使用方法詳解

    Java HttpURLConnection使用方法詳解

    這篇文章主要為大家詳細介紹了Java HttpURLConnection使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • spring使用ehcache實現(xiàn)頁面緩存示例

    spring使用ehcache實現(xiàn)頁面緩存示例

    這篇文章主要介紹了spring使用ehcache實現(xiàn)頁面緩存示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • 解決mybatis plus報錯com.microsoft.sqlserver.jdbc.SQLServerException:必須執(zhí)行該語句才能獲得結果

    解決mybatis plus報錯com.microsoft.sqlserver.jdbc.SQLServerE

    這篇文章主要介紹了解決mybatis plus報錯com.microsoft.sqlserver.jdbc.SQLServerException:必須執(zhí)行該語句才能獲得結果,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • SpringBoot下無節(jié)制和數(shù)據(jù)庫建立連接的問題及解決方法

    SpringBoot下無節(jié)制和數(shù)據(jù)庫建立連接的問題及解決方法

    本文介紹了無節(jié)制建立MySQL連接的危害,包括數(shù)據(jù)庫服務端資源耗盡、應用端性能劣化和監(jiān)控與運維困境,提出了系統(tǒng)性解決方案,包括連接池標準化配置、代碼規(guī)范與防御式編程、全鏈路監(jiān)控體系和架構級優(yōu)化,感興趣的朋友一起看看吧
    2025-03-03
  • 詳解java中的阻塞隊列

    詳解java中的阻塞隊列

    這篇文章主要介紹了java中的阻塞隊列的相關知識,文中代碼非常詳細,供大家參考和學習,感興趣的朋友可以了解下
    2020-06-06
  • 歸并算法之有序數(shù)組合并算法實現(xiàn)

    歸并算法之有序數(shù)組合并算法實現(xiàn)

    這篇文章主要介紹了歸并算法之有序數(shù)組合并算法實現(xiàn)的相關資料,需要的朋友可以參考下
    2017-07-07
  • java如何根據(jù)IP獲取當前區(qū)域天氣信息詳解

    java如何根據(jù)IP獲取當前區(qū)域天氣信息詳解

    根據(jù)IP自動獲取當?shù)氐奶鞖忸A報信息這個功能大家應該都遇到過,天氣預報信息用途非常廣泛,篇文章主要給大家介紹了關于java如何根據(jù)IP獲取當前區(qū)域天氣信息的相關資料,需要的朋友可以參考下
    2021-08-08
  • Windows部署Jar包的三種方式圖文詳解

    Windows部署Jar包的三種方式圖文詳解

    使用Java編寫了一些有用的工具,因為不方便部署到服務器上,所以需要把Java生成的jar包在本地Windows上部署,這篇文章主要給大家介紹了關于Windows部署Jar包的三種方式,需要的朋友可以參考下
    2023-07-07

最新評論

湾仔区| 云浮市| 临夏县| 耒阳市| 永昌县| 广东省| 都昌县| 满洲里市| 淄博市| 石城县| 佳木斯市| 阜新| 林州市| 行唐县| 紫金县| 交口县| 崇州市| 伊金霍洛旗| 彩票| 东山县| 游戏| 宁阳县| 育儿| 安国市| 磐安县| 甘洛县| 蓝田县| 兰考县| 大冶市| 兴安县| 绿春县| 班玛县| 井陉县| 娱乐| 日喀则市| 盐边县| 鄂州市| 象山县| 同德县| 贡山| 株洲县|