返回 导航

SpringBoot / Cloud

hangge.com

SpringBoot - 实现JSON数据的返回(将模型转成JSON字符串)

作者:hangge | 2019-09-04 08:10
    JSON 是目前主流的前后端数据传输方式。在 Spring Boot 项目中,只要添加了 Web 依赖(spring-boot-starter-web),就可以很方便地实现 JSON 转换。下面我们通过样例进行演示。
Web 依赖默认加入了 jackson-databind 作为 JSON 处理器,我们不需要要添加额外的 JSON 处理器就可以返回一段 JSON

1,实体类创建

首先我们创建一个 Book 实体类,注意这里用到了两个注解:
  • @JsonIgnorejson 序列化时将 java bean 中的一些属性忽略掉。即生成 json 时不生成其标注的属性。
  • @JsonFormat:将日期类型的数据格式化成指定格式的字符串。
package com.example.demo;

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 对象,然后将其直接返回。
package com.example.demo;

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("hangge");
        book.setPrice(50f);
        book.setPublicationDate(new Date());
        return book;
    }
}

3,访问测试

在浏览器访问 /hello 这个接口,可以看到 JSON 数据已经成功返回了。
评论

全部评论(0)

回到顶部