日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

Spring Boot 返回 JSON 数据,一分钟搞定!

發(fā)布時(shí)間:2025/3/21 javascript 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Boot 返回 JSON 数据,一分钟搞定! 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在 WEB 項(xiàng)目中返回 JSON 數(shù)據(jù)是常見(jiàn)的交互形式,在 Spring Boot 中這一切都變得十分簡(jiǎn)單。So easy!!!

你所需具備的基礎(chǔ)

  • 什么是 Spring Boot?

  • Spring Boot 核心配置文件詳解

  • Spring Boot 開(kāi)啟的 2 種方式

  • Spring Boot 自動(dòng)配置原理、實(shí)戰(zhàn)

  • Spring Boot 2.x 啟動(dòng)全過(guò)程源碼分析

如何返回 JSON 數(shù)據(jù)?

在 Spring Boot 中返回 JSON 數(shù)據(jù)很簡(jiǎn)單,如下幾步。

加入依賴

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.4.RELEASE</version> </parent><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId> </dependency>

除了 Spring Boot 必須自帶的 parent 依賴外,僅僅只需要加入這個(gè)?spring-boot-starter-web?包即可,它會(huì)自動(dòng)包含所有 JSON 處理的包,如下圖所示。

這個(gè)插件感謝知識(shí)星球球友的分享,簡(jiǎn)單不錯(cuò),點(diǎn)擊文章底部的閱讀原文,可以加入一起學(xué)習(xí)。

返回 JSON 數(shù)據(jù)格式定義

1)定義返回方式

在 Controller 類上面用?@RestController?定義或者在方法上面用?@ResponseBody?定義,表明是在 Body 區(qū)域輸出數(shù)據(jù)。

下面是使用示例:

@RestController public?class?JsonTest?{@GetMapping(value?=?"/user/{userId}")public?User?getUserInfo(@PathVariable("userId")?String?userId)?{User?user?=?new?User("Java技術(shù)棧",?18);user.setId(Long.valueOf(userId));return?user;}}

2)自定義輸出格式

上面的方法直接返回對(duì)象,對(duì)象會(huì)自動(dòng)轉(zhuǎn)換為 JSON 格式,不過(guò)是默認(rèn)的標(biāo)簽,可以通過(guò)以下標(biāo)簽進(jìn)行自定義 JSON 格式。

public?class?User?{@JsonProperty("user-name")private?String?userName;private?Long?id;private?Integer?age;@JsonIgnoreprivate?String?address;@JsonInclude(JsonInclude.Include.NON_NULL)private?String?memo;//?get?set?略}

程序輸出:

{"id":1,"age":18,"user-name":"Java技術(shù)棧"}

上面演示了幾個(gè)常用的注解。

@JsonProperty:?可用來(lái)自定義屬性標(biāo)簽名稱;

@JsonIgnore:?可用來(lái)忽略不想輸出某個(gè)屬性的標(biāo)簽;

@JsonInclude:?可用來(lái)動(dòng)態(tài)包含屬性的標(biāo)簽,如可以不包含為 null 值的屬性;

更多注解可以查看這個(gè)包:

如何手動(dòng)完成對(duì)象 和 Json 的互轉(zhuǎn)?

jackson-databind?包里面有一個(gè)?com.fasterxml.jackson.databind.ObjectMapper?類可以完成對(duì)象和 Json 數(shù)據(jù)的互轉(zhuǎn),下面是一個(gè)簡(jiǎn)單的合作示例。

ObjectMapper?objectMapper?=?new?ObjectMapper();String?userJsonStr?=?objectMapper.writeValueAsString(user);User?jsonUser?=?objectMapper.readValue(userJsonStr,?User.class);

更多相關(guān)的使用及原理可以查看這個(gè)包。

總結(jié)

以上是生活随笔為你收集整理的Spring Boot 返回 JSON 数据,一分钟搞定!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。