对模型对象解析的改造请求响应
Retrofit request response to model object parse
我正在通过 Retrofit2 使用 API,我想 parse/transform 对我的模型类型对象的响应。问题是 Json 中收到的答案是这样的:
...
那么,我的模型对象有这样的结构:
public class ApiTokenResponse {
@SerializedName("data")
@Expose
private JsonArray data;
@SerializedName("id")
@Expose
private int id;
问题是我只专注于接收 id,而不是名为 data 的 jsonarray,但我收到的唯一值是 data 数组,id 为空。我是否必须稍后迭代 data 数组并获取 id 值,或者有什么方法可以直接获取它?
谢谢
你的模型结构有问题。
你最喜欢做你的模型。
public class Response {
private List<Info> data;
}
和
public class Info {
private int id;
private String created_at;
private String updated_at;
private String deleted_at;
}
注意:如果您的 JSON 标签名称与您的 java 变量相同,则不能使用 @SerializedName
.
注意:如果改造无法在模型中找到或解析 @SerializedName
,请将其设为 NULL。
我正在通过 Retrofit2 使用 API,我想 parse/transform 对我的模型类型对象的响应。问题是 Json 中收到的答案是这样的:
...
那么,我的模型对象有这样的结构:
public class ApiTokenResponse {
@SerializedName("data")
@Expose
private JsonArray data;
@SerializedName("id")
@Expose
private int id;
问题是我只专注于接收 id,而不是名为 data 的 jsonarray,但我收到的唯一值是 data 数组,id 为空。我是否必须稍后迭代 data 数组并获取 id 值,或者有什么方法可以直接获取它?
谢谢
你的模型结构有问题。 你最喜欢做你的模型。
public class Response {
private List<Info> data;
}
和
public class Info {
private int id;
private String created_at;
private String updated_at;
private String deleted_at;
}
注意:如果您的 JSON 标签名称与您的 java 变量相同,则不能使用 @SerializedName
.
注意:如果改造无法在模型中找到或解析 @SerializedName
,请将其设为 NULL。