首页 > 解决方案 > 在 Spring Boot 应用程序中解析 JSON

问题描述

我很难想出一种解析这种 JSON 的方法。在我的应用程序中获得此响应后,我需要能够分别访问数据和消息。

{
    "data": [
        {
            "email": "eskaferas@gmail.com",
            "firstName": "Seras",
            "lastName": "Meras"
        },
        {
            "email": "Soras@gmail.com",
            "firstName": "Oras",
            "lastName": "Moras"
        },
        {
            "email": "bzbzb@gmail.com",
            "firstName": "hello",
            "lastName": "bye"
        },
        {
            "email": "lrc@gmail.com",
            "firstName": "Seras",
            "lastName": "Meras"
        }
    ],
    "message": "Success"
}

任何人都可以建议一种专门用于 Spring Boot 的方法吗?或者是 Spring boot 中用来解析这种 JSON 类型的常用方法。

谢谢你。

编辑

我的主要问题是 Spring Boot 可以使用什么工具,如果我使用 Jackson,我的 POJO 类会是什么样子。会是这样吗?:

public class testPojo {
  Users[] users;
  String message;
}

标签: javajsonspringspring-boot

解决方案


Pojo 类将如下所示:

public class TestPojo{

    private Users[] data;
    private String message;

    public Users[] getData() {
        return data;
    }

    public void setData(Users[] data) {
        this.data = data;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
     }
}

class Users {
    private String email;
    private String firstName;
    private String lastName;
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public String getFirstName() {
        return firstName;
    }
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
    public String getLastName() {
        return lastName;
    }
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
}

在控制器的方法参数中使用 @RequestBody。

@RestController
class AbcController{

    PostMapping("/api")
    public String create(@RequestBody TestPojo test){
    // you can acess your json in test object
    return "done"
    } 
}

推荐阅读