久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

詳解json在SpringBoot中的格式轉(zhuǎn)換

瀏覽:61日期:2023-04-09 09:16:11

@RestController自動(dòng)返回json

詳解json在SpringBoot中的格式轉(zhuǎn)換

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

@ResponseBody+@Controller 組合返回json

詳解json在SpringBoot中的格式轉(zhuǎn)換

//@RestController @Controller// 類(lèi)名上方 @GetMapping('/json') @ResponseBody public Student getjson() { Student student = new Student('bennyrhys',158 ); return student; }

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

詳解json在SpringBoot中的格式轉(zhuǎn)換

//@RestController @Controller// 類(lèi)名上方@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對(duì)于json格式字符串的解析主要用到了一下三個(gè)類(lèi):

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

toJSONString() 和 parseObject() 方法來(lái)將 Java 對(duì)象與 JSON 相互轉(zhuǎn)換。調(diào)用toJSONString方 法即可將對(duì)象轉(zhuǎn)換成 JSON 字符串,parseObject 方法則反過(guò)來(lái)將 JSON 字符串轉(zhuǎn)換成對(duì)象。

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

JSONObject 當(dāng)成一個(gè) Map<String,Object> 來(lái)看JSONArray當(dāng)成一個(gè) List 來(lái)看JSON.toString(Object)----> return StringJSON.parse(String)----->return Object

String 和 JsonObject 和 JsonArray之間轉(zhuǎn)化https://www.jb51.net/article/199602.htm

1、String轉(zhuǎn)JSONObject 或 JSONArray

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

2、JSONObject中的數(shù)組提取為JSONArray提取Result對(duì)應(yīng)的數(shù)組

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

3、JSONArray提取為JSONObject

JSONObject jsonObject = jsonArray.getJSONObject(0);

詳解json在SpringBoot中的格式轉(zhuǎn)換

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(消息頭:請(qǐng)求頭和響應(yīng)頭)

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

HttpHeaders(消息頭:請(qǐng)求頭和響應(yīng)頭)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));

到此這篇關(guān)于詳解json在SpringBoot中的格式轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)SpringBoot json格式轉(zhuǎn)換內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 含山县| 永修县| 辽宁省| 南汇区| 库车县| 镶黄旗| 武乡县| 陵水| 司法| 阿巴嘎旗| 广灵县| 怀远县| 湘潭县| 吉林市| 南川市| 稷山县| 武穴市| 清丰县| 嘉兴市| 拉孜县| 海阳市| 旺苍县| 监利县| 瑞金市| 涿鹿县| 克拉玛依市| 通许县| 江油市| 长岭县| 花莲市| 扬中市| 淳安县| 郓城县| 皮山县| 井冈山市| 微博| 仲巴县| 灵台县| 和田县| 宁城县| 隆子县|