美文网首页
Spring Boot 返回 JSON 数据,一分钟搞定

Spring Boot 返回 JSON 数据,一分钟搞定

作者: 码农小胖 | 来源:发表于2020-07-04 10:29 被阅读0次

如何返回 JSON 数据?

在 Spring Boot 中返回 JSON 数据很简单,如下几步。

加入依赖

org.springframework.boot

spring-boot-starter-parent

2.0.4.RELEASE

org.springframework.boot

spring-boot-starter-web

复制代码

除了 Spring Boot 必须自带的 parent 依赖外,仅仅只需要加入这个 spring-boot-starter-web 包即可,它会自动包含所有 JSON 处理的包,如下图所示。

java学习交流qun:925895158,欢迎各位进来交流

返回 JSON 数据格式定义

1)定义返回方式

在 Controller 类上面用 @RestController 定义或者在方法上面用 @ResponseBody 定义,表明是在 Body 区域输出数据。

下面是使用示例:

@RestController

publicclassJsonTest{

@GetMapping(value ="/user/{userId}")

publicUser getUserInfo(@PathVariable("userId")String userId) {

User user = new User("Java技术栈",18);

user.setId(Long.valueOf(userId));

returnuser;

}

}

复制代码

2)自定义输出格式

上面的方法直接返回对象,对象会自动转换为 JSON 格式,不过是默认的标签,可以通过以下标签进行自定义 JSON 格式。

publicclassUser{

@JsonProperty("user-name")

privateString userName;

privateLongid;

privateInteger age;

@JsonIgnore

privateString address;

@JsonInclude(JsonInclude.Include.NON_NULL)

privateString memo;

// get set 略

}

复制代码

程序输出:

{"id":1,"age":18,"user-name":"Java技术栈"}

复制代码

上面演示了几个常用的注解。

@JsonProperty: 可用来自定义属性标签名称;

@JsonIgnore: 可用来忽略不想输出某个属性的标签;

@JsonInclude: 可用来动态包含属性的标签,如可以不包含为 null 值的属性;

更多注解可以查看这个包:

如何手动完成对象 和 Json 的互转?

jackson-databind 包里面有一个 com.fasterxml.jackson.databind.ObjectMapper 类可以完成对象和 Json 数据的互转,下面是一个简单的合作示例。

ObjectMapper objectMapper =newObjectMapper();

String userJsonStr = objectMapper.writeValueAsString(user);

User jsonUser = objectMapper.readValue(userJsonStr, User.class);

复制代码

在 WEB项目中返回 JSON 数据是常见的交互形式,在 Spring Boot 中这一切都变得十分简单。So easy!!!

好了,今天的分享就到这里,更多 Spring Boot 文章正在撰写中,关注小编获取第一时间推送。

最后小编再送你们一份大礼吧,java基础学习资料,不管你是零基础还是工作两年的都会有用

领取方式:转发+关注私信小编或加v:xuanwo013即可获取

相关文章

网友评论

      本文标题:Spring Boot 返回 JSON 数据,一分钟搞定

      本文链接:https://www.haomeiwen.com/subject/jvayqktx.html