JSON 是目前主流的前后端數據傳輸方式。在 Spring Boot 項目中,只要添加了 Web 依賴(spring-boot-starter-web),就可以很方便地實現 JSON 轉換。下面我們通過樣例進行演示。
Web 依賴默認加入了 jackson-databind 作為 JSON 處理器,我們不需要要添加額外的 JSON 處理器就可以返回一段 JSON。
1,實體類創建
首先我們創建一個 Book 實體類,注意這里用到了兩個注解:
- @JsonIgnore:json 序列化時將 java bean 中的一些屬性忽略掉。即生成 json 時不生成其標注的屬性。
- @JsonFormat:將日期類型的數據格式化成指定格式的字符串。
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import java.util.Date; public class Book { private String name; private String author; @JsonIgnore private Float price; @JsonFormat(pattern = "yyyy-MM-dd") private Date publicationDate; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } public Float getPrice() { return price; } public void setPrice(Float price) { this.price = price; } public Date getPublicationDate() { return publicationDate; } public void setPublicationDate(Date publicationDate) { this.publicationDate = publicationDate; } }
2,創建 Contoller
在這個 Contoller 中我們初始化一個 Book 對象,然后將其直接返回。
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.GetMapping; import java.util.Date; @RestController public class HelloController { @GetMapping("/hello") public Book hello() { Book book = new Book(); book.setName("Spring Boot開發"); book.setAuthor("123"); book.setPrice(29f); book.setPublicationDate(new Date()); return book; } }
3,訪問測試
在瀏覽器訪問 /hello 這個接口,可以看到 JSON 數據已經成功返回了。