這篇文章帶給大家的內容是關於Spring Boot返回JSON 資料的方法介紹(附範例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助
在WEB 專案中傳回JSON 資料是常見的互動形式,在Spring Boot 中這一切都變得十分簡單。 So easy!!!
如何傳回 JSON 資料?
在 Spring Boot 中傳回 JSON 資料很簡單,如下幾步。
加入依賴
<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 依賴外,只需要加入這個spring-boot-starter-web
包即可,它會自動包含所有JSON 處理的包,如下圖所示。
在Controller 類別上面用@RestController
定義或在方法上面用@ResponseBody
定義,表示是在Body 區域輸出資料。
下面是使用範例:
@RestController public class JsonTest { @GetMapping(value = "/user/{userId}") public User getUserInfo(@PathVariable("userId") String userId) { User user = new User("Java技术栈", 18); user.setId(Long.valueOf(userId)); return user; } }
上面的方法直接傳回對象,物件會自動轉換為XML 格式,不過是預設的標籤,可以透過以下標籤進行自訂XML 格式。
public class User { @JsonProperty("user-name") private String userName; private Long id; private Integer age; @JsonIgnore private String address; @JsonInclude(JsonInclude.Include.NON_NULL) private String memo; // get set 略 }
程式輸出:
{"id":1,"age":18,"user-name":"Java技术栈"}
上面示範了幾個常用的註解。
@JsonProperty: 可用來自訂屬性標籤名稱;
#@JsonIgnore: 可用來忽略不想輸出某個屬性的標籤;
@JsonInclude: 可用於動態包含屬性的標籤,如可以不包含為null 值的屬性;
更多註解可以查看這個套件:
jackson-databind
套件裡面有一個com.fasterxml.jackson.databind.ObjectMapper
類別可以完成物件和Json 資料的互轉,下面是一個簡單的合作範例。
ObjectMapper objectMapper = new ObjectMapper(); String userJsonStr = objectMapper.writeValueAsString(user); User jsonUser = objectMapper.readValue(userJsonStr, User.class);
以上是Spring Boot傳回JSON 資料的方法介紹(附範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!