Home  >  Article  >  Java  >  Introduction to the method of returning JSON data in Spring Boot (with examples)

Introduction to the method of returning JSON data in Spring Boot (with examples)

不言
不言forward
2018-12-14 09:55:273108browse

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.

Introduction to the method of returning JSON data in Spring Boot (with examples)

Return XML data format definition

1) Define the return method

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.

The following is an example of usage:

@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 format
The 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:

Introduction to the method of returning JSON data in Spring Boot (with examples)

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!

Statement:
This article is reproduced at:segmentfault.com. If there is any infringement, please contact admin@php.cn delete