【问题标题】:Retrofit parse JSON response from API when model is in "data" object当模型在“数据”对象中时,改造从 API 解析 JSON 响应
【发布时间】:2016-02-10 00:06:49
【问题描述】:

如何在不必为每个实体创建单独的响应类的情况下解析此响应。

{
  "data": {
    "id": 100,
    "first_name": "Michael",
    "last_name": "Blankenship"
  }
}

我想要一个可以引用数据对象的通用类,然后只指定应该使用什么类型的类来解析响应

类似这样的:

@Get
Call<User> getUser();

@Get
Call<Status> getStatus();

不必为每种类型设置多个响应类

public class UserResponse {
    User data;
}

public class User {
    String first_name;
    String last_name;
}

public class StatusResponse {
    Status data;
}

【问题讨论】:

  • 其实这是JSON结构的问题。我也遇到过类似的问题,硬修复和正确修复是要求服务器团队删除数据密钥。

标签: java json retrofit2


【解决方案1】:

解决方法是创建一个类似这样的通用类

public class BaseResponseWrapper <T> {

    @SerializedName("data")
    private T data;

    public BaseResponseWrapper(){
        super();
    }

    public T getData() {
        return data;
    }
}

【讨论】:

    猜你喜欢
    • 2021-12-09
    • 2021-03-15
    • 2020-09-26
    • 2020-03-19
    • 1970-01-01
    • 2019-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多