This article brings you an introduction to the method of returning JSON data from Spring Boot (with examples). It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you
Returning JSON data is a common form of interaction in WEB projects, and it all becomes very simple in Spring Boot. So easy!!!
How to return JSON data?
Returning JSON data in Spring Boot is very simple, as follows.
Add dependencies
<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>
In addition to the parent dependency that Spring Boot must bring, you only need to add thisspring-boot-starter-web
Just package it, it will automatically include all JSON processing packages, as shown in the figure below.
Use ## on the Controller class #@RestController is defined or defined with
@ResponseBody on the method, indicating that the data is output in the Body area.
@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; } }2) Custom output formatThe above method returns the object directly, and the object will be automatically converted to XML format, but it is the default tag , the XML format can be customized through the following tags.
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 略 }Program output:
{"id":1,"age":18,"user-name":"Java技术栈"}The above demonstrates several commonly used annotations.
@JsonProperty: Can be used to customize the attribute label name;
@JsonIgnore: Can be used to ignore the label that does not want to output a certain attribute;
@JsonInclude: Tags that can be used to dynamically include attributes. For example, attributes with null values may not be included;
For more annotations, please view this package:How to manually convert objects to Json?
jackson-databind There is a
com.fasterxml.jackson.databind.ObjectMapper class in the package that can complete the mutual conversion of objects and Json data. The following is a simple Examples of collaboration.
ObjectMapper objectMapper = new ObjectMapper(); String userJsonStr = objectMapper.writeValueAsString(user); User jsonUser = objectMapper.readValue(userJsonStr, User.class);
The above is the detailed content of Introduction to the method of returning JSON data in Spring Boot (with examples). For more information, please follow other related articles on the PHP Chinese website!