小编给大家分享一下Spring Boot返回JSON 数据的案例,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!
在 WEB 项目中返回 JSON 数据是常见的交互形式,在 Spring Boot 中这一切都变得十分简单。So easy!!!
如何返回 JSON 数据?
在 Spring Boot 中返回 JSON 数据很简单,如下几步。
加入依赖
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.4.RELEASE</version> </parent> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
除了 Spring Boot 必须自带的 parent 依赖外,仅仅只需要加入这个 spring-boot-starter-web
包即可,它会自动包含所有 JSON 处理的包,如下图所示。
在 Controller 类上面用 @RestController
定义或者在方法上面用 @ResponseBody
定义,表明是在 Body 区域输出数据。
下面是使用示例:
@RestController public class JsonTest { @GetMapping(value = "/user/{userId}") public User getUserInfo(@PathVariable("userId") String userId) { User user = new User("Java技术栈", 18); user.setId(Long.valueOf(userId)); return user; } }
上面的方法直接返回对象,对象会自动转换为 XML 格式,不过是默认的标签,可以通过以下标签进行自定义 XML 格式。
public class User { @JsonProperty("user-name") private String userName; private Long id; private Integer age; @JsonIgnore private String address; @JsonInclude(JsonInclude.Include.NON_NULL) private String memo; // get set 略 }
程序输出:
{"id":1,"age":18,"user-name":"Java技术栈"}
上面演示了几个常用的注解。
@JsonProperty: 可用来自定义属性标签名称;
@JsonIgnore: 可用来忽略不想输出某个属性的标签;
@JsonInclude: 可用来动态包含属性的标签,如可以不包含为 null 值的属性;
更多注解可以查看这个包:
jackson-databind
包里面有一个 com.fasterxml.jackson.databind.ObjectMapper
类可以完成对象和 Json 数据的互转,下面是一个简单的合作示例。
ObjectMapper objectMapper = new ObjectMapper(); String userJsonStr = objectMapper.writeValueAsString(user); User jsonUser = objectMapper.readValue(userJsonStr, User.class);
看完了这篇文章,相信你对Spring Boot返回JSON 数据的案例有了一定的了解,想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。