【问题标题】:Spring Boot how to convert JSON response to an array of objectsSpring Boot 如何将 JSON 响应转换为对象数组
【发布时间】:2016-02-25 19:06:18
【问题描述】:

我正在尝试获取以 JSON 格式返回一组用户的外部 Web 服务的内容,然后将 JSON 响应转换为 EclipseUser 对象数组。来自 Web 服务的响应将用户数组包装在一个标有“用户”的数组中。我做了一些研究,但似乎找不到一个示例来说明如何获取用户数组中的项目,然后将它们转换为对象。

{
users: [
{
id: 2,
name: "David Cook",
username: "david.cook",
password: "12345",
email: "david.cook@mydomain.com"
},
{
id: 5,
name: "Kieran Barnby",
username: "kieran.barnby",
password: "12345",
email: "kieran.barnby@mydomain.com
}
]
}

我想知道如何检索 JSON,然后将其转换为对象数组。这是对象类:

public class EclipseUser {

    public int id;
    public String name;
    public String username;
    public String password;
    public String email;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

【问题讨论】:

标签: spring jersey spring-boot


【解决方案1】:

您应该创建不同的类,该类将包含一个数组 od EclipseUser 对象,之后当前的 JSON 将被正确转换。 目前你有一组用户,但它没有映射到 EclipseUser,因为 EclipseUser 它只是一个用户。

【讨论】:

    【解决方案2】:

    您必须使用 Jackson 库将 JSON 转换为 Object,反之亦然。除此之外,您必须创建额外的 java 对象来获取用户列表。

      Class Users{
          @JsonProperty(“users”)
          private List<EclipseUser> users;
          //getters and setters
        }
    

    【讨论】:

      猜你喜欢
      • 2020-10-31
      • 2021-05-27
      • 2018-06-28
      • 2017-08-23
      • 2022-01-21
      • 2019-05-17
      • 2017-10-17
      • 2021-08-27
      • 1970-01-01
      相关资源
      最近更新 更多