pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

Spring?MVC基于注解的使用之JSON數據處理的方法

這篇文章主要介紹了Spring?MVC基于注解的使用JSON數據處理,json是一種輕量級的數據交換格式,是一種理想的數據交互語言,它易于閱讀和編寫,同時也易于機器解析和生成,本文通過實例

1.JSON數據交互

1.1 JSON概述

JSON 是一種輕量級的數據交換格式,是一種理想的數據交互語言,它易于閱讀和編寫,同時也易于機器解析和生成。
JSON有兩種數據結構:

  • 對象結構
  • 數組結構

1.1.1 對象結構

對象結構是由花括號括起來的逗號分割的鍵值對(key:value)構成。

對象結構的語法格式是:
{ "key1 ":"value 1", "key2 ":value 2, "key3 ":value 3}

注意:

key 必須是字符串,value 可以是字符串, 數字, 對象, 數組, 布爾值或 null。

key 和 value 中使用冒號(:)分割。

每個 key/value 對使用逗號(,)分割。

1.1.2 數組結構

數組結構是由中括號包裹逗號分隔的值的列表組成。

數組結構的語法格式是:

[ "value1","value2","value3" ]

注意:JSON 中數組值必須是字符串, 數字, 對象, 數組, 布爾值或 null。

java轉換為json 的過程一般會稱為 “序列化”
json轉換為java 的過程一般會稱為 “反序列化”
json的屬和字符串值必須要用雙引號 “” 不能用單引

1.2 JSON數據轉換

為實現瀏覽器與控制器類之間的數據交互,Spring提供了一個HttpMessageConverter接口來實現該工作。Spring為HttpMessageConverter接口提供了很多實現類,來對不同類型的數據進行信息轉換。而Spring MVC 默認處理JSON格式請求響應的實現類是MappingJackson2HttpMessageConverter,使用此類對數據進行轉換。

數據轉換操作步驟:

導入jackson依賴

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.13.2.2</version>
</dependency>

在SpringMVC的核心配置文件中開啟mvc的注解驅動,此時在HandlerAdaptor中會自動裝配一個消息轉換器:MappingJackson2HttpMessageConverter,可以將響應到瀏覽器的Java對象轉換為Json格式的字符串

<mvc:annotation-driven/>
<mvc:default-servlet-handler/>

創建一個User類,用于封裝User類型的請求參數

public class User {
    private Integer id;
    private String username;
    private String password;
    public User() {
    }
    public User(Integer id, String username, String password) {
        this.id = id;
        this.username = username;
        this.password = password;
    }
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
}

在控制器方法上使用@ResponseBody注解進行標識

@RequestMapping("/testJson")
@ResponseBody
public User testJson(){
    return new User(001,"jack","123456");
}

將Java對象直接作為控制器方法的返回值返回,就會自動轉換為json格式的字符串

在這里插入圖片描述

2. HttpMessageConverter

HttpMessageConverter,報文信息轉換器,將請求報文轉換為Java對象,或將Java對象轉換為響應報文。
HttpMessageConverter提供了兩個注解@RequestBody和@ResponseBody,在JSON格式轉換中也是非常重要的。

2.1 @RequestBody

@RequestBody 可以獲取請求體,需要在控制器方法設置一個形參,使用@RequestBody進行標識,就會將請求體中的數據綁定到方法的形參中。

@RequestMapping("/testRequestBody")
    public String testRequestBody(@RequestBody String requestBody){
        System.out.println("requestBody:" + requestBody);
        return "success";
    }

表單提交:

<form action="${pageContext.request.contextPath}/testRequestBody" method="post">
    用戶名:<input type="text" name="username"><br>
    密碼:<input type="password" name="password"><br>
    <input type="submit" value="測試"><br>
</form>

返回結果:requestBody:username=abc&password=123

2.2 @ResponseBody

@ResponseBody 標識當前的控制器方法,直接將該方法的返回值作為響應報文的響應體響應到瀏覽器

@RequestMapping("/testResponseBody")
    @ResponseBody
    public String testResponseBody(){
        return "success";
    }

通過超鏈接測試:

<a href="${pageContext.request.contextPath}/testResponseBody">測試testResponseBody</a>

在這里插入圖片描述

到此這篇關于Spring MVC基于注解的使用JSON數據處理的文章就介紹到這了,更多相關Spring MVC JSON數據處理內容請搜索html5模板網以前的文章希望大家以后多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

人工智能時代的到來,相信大家已耳濡目染,虹軟免費,離線開放的人臉識別SDK,正推動著全行業進入刷臉時代,下面這篇文章主要給大家介紹了關于如何基于SpringBoot實現人臉識別功能的相關
這篇文章主要介紹了Java中Scanner使用方式:單行/多行輸入,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
這篇文章主要介紹了關于Scanner對象的輸入結束標記問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
這篇文章主要介紹了SpringBoot定時任務功能詳細解析,這次的功能開發過程中也算是對其內涵的進一步了解,以后遇到定時任務的處理也更清晰,更有效率了,對SpringBoot定時任務相關知識
這篇文章主要為大家分享了在SSM項目中實現短信驗證碼登錄功能的示例代碼,文中的實現步驟講解詳細,感興趣的小伙伴可以跟隨小編一起動手嘗試一下
jasypt是一個通用的加解密庫,我們可以使用它在配置文件中對數據庫密碼進行加密,以確保其安全性,接下來通過本文給大家介紹SpringBoot項目使用jasypt加解密的方法,感興趣的朋友一起
主站蜘蛛池模板: 电梯乘运质量测试仪_电梯安全评估测试仪-武汉懿之刻 | 冷却塔风机厂家_静音冷却塔风机_冷却塔电机维修更换维修-广东特菱节能空调设备有限公司 | 对照品_中药对照品_标准品_对照药材_「格利普」高纯中药标准品厂家-成都格利普生物科技有限公司 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库 | 体检车_移动CT车_CT检查车_CT车_深圳市艾克瑞电气有限公司移动CT体检车厂家-深圳市艾克瑞电气有限公司 | 石英陶瓷,石英坩埚,二氧化硅陶瓷-淄博百特高新材料有限公司 | 开业庆典_舞龙舞狮_乔迁奠基仪式_开工仪式-神挚龙狮鼓乐文化传媒 | 飞行者联盟-飞机模拟机_无人机_低空经济_航空技术交流平台 | 天津次氯酸钠酸钙溶液-天津氢氧化钠厂家-天津市辅仁化工有限公司 | 综合管廊模具_生态,阶梯护坡模具_检查井模具制造-致宏模具厂家 | 薄壁轴承-等截面薄壁轴承生产厂家-洛阳薄壁精密轴承有限公司 | 拼装地板,悬浮地板厂家,悬浮式拼装运动地板-石家庄博超地板科技有限公司 | 定制/定做衬衫厂家/公司-衬衫订做/订制价格/费用-北京圣达信 | 半自动预灌装机,卡式瓶灌装机,注射器灌装机,给药器灌装机,大输液灌装机,西林瓶灌装机-长沙一星制药机械有限公司 | 深圳善跑体育产业集团有限公司_塑胶跑道_人造草坪_运动木地板 | 换链神器官网-友情链接交换、购买交易于一体的站长平台 | 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 | 企业管理培训,企业培训公开课,企业内训课程,企业培训师 - 名课堂企业管理培训网 | 橡胶弹簧|复合弹簧|橡胶球|振动筛配件-新乡市永鑫橡胶厂 | 建大仁科-温湿度变送器|温湿度传感器|温湿度记录仪_厂家_价格-山东仁科 | 美缝剂_美缝剂厂家_美缝剂加盟-地老板高端瓷砖美缝剂 | 船用锚链|专业锚链生产厂家|安徽亚太锚链制造有限公司 | 活性炭-蜂窝-椰壳-柱状-粉状活性炭-河南唐达净水材料有限公司 | 不干胶标签,不干胶标签纸_厂家-山东同力胶粘制品 | 泰安办公家具-泰安派格办公用品有限公司| 原色会计-合肥注册公司_合肥代理记账公司_营业执照代办 | ERP企业管理系统永久免费版_在线ERP系统_OA办公_云版软件官网 | 空心明胶胶囊|植物胶囊|清真胶囊|浙江绿键胶囊有限公司欢迎您! | 石牌坊价格石牌坊雕刻制作_石雕牌坊牌楼石栏杆厂家_山东嘉祥石雕有限公司 | 开平机_纵剪机厂家_开平机生产厂家|诚信互赢-泰安瑞烨精工机械制造有限公司 | 仓储货架_南京货架_钢制托盘_仓储笼_隔离网_环球零件盒_诺力液压车_货架-南京一品仓储设备制造公司 | 江西自考网-江西自学考试网| 篷房[仓储-婚庆-展览-活动]生产厂家-江苏正德装配式帐篷有限公司 | 广西教师资格网-广西教师资格证考试网 | 快干水泥|桥梁伸缩缝止水胶|伸缩缝装置生产厂家-广东广航交通科技有限公司 | 云南外加剂,云南速凝剂,云南外加剂代加工-普洱澜湄新材料科技有限公司 | TTCMS自助建站_网站建设_自助建站_免费网站_免费建站_天天向上旗下品牌 | 工业胀紧套_万向节联轴器_链条-规格齐全-型号选购-非标订做-厂家批发价格-上海乙谛精密机械有限公司 | 河南中专学校|职高|技校招生-河南中职中专网| 河北中仪伟创试验仪器有限公司是专业生产沥青,土工,水泥,混凝土等试验仪器的厂家,咨询电话:13373070969 | 昆山新莱洁净应用材料股份有限公司-卫生级蝶阀,无菌取样阀,不锈钢隔膜阀,换向阀,离心泵 | 浙江华锤电器有限公司_地磅称重设备_防作弊地磅_浙江地磅售后维修_无人值守扫码过磅系统_浙江源头地磅厂家_浙江工厂直营地磅 |