SpringBoot - 實現JSON數據的返回(將模型轉成JSON字符串)


  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 數據已經成功返回了。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM