Home > Java > javaTutorial > body text

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

不言
Release: 2018-12-14 09:55:27
forward
3079 people have browsed it

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>
Copy after login

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;
    }

}
Copy after login
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 略
    
}
Copy after login
Program output:

{"id":1,"age":18,"user-name":"Java技术栈"}
Copy after login
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);
Copy after login

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!

Related labels:
source:segmentfault.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!