1. 程式人生 > 其它 >SpringBoot - 實現JSON資料的返回(將模型轉成JSON字串)

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

早年同窗始相知,三載瞬逝情卻萌。年少不知愁滋味,猶讀紅豆生南國。別離方知相思苦,心田紅豆根以生。