在 Android 中通过 Retrofit 将 JSON 解析为对象模型
Parsing JSON into Object Model with Retrofit in Android
几天前,我开始使用 Retrofit 而不是 OkHTTP 来与 API 进行通信。一切都很完美,但我有疑问,但我没有找到任何明确的地方。
如果我的 API 有这样的 JSON 回复
{
"event": {
"status": "4",
"participants": "5.455"
},
"more_data": "string_data",
"even_more_data": 0
}
这意味着我应该有这样的 POJO 结构?
public class Event {
@SerializedName("event")
public EventData data;
@SerializedName("more_data")
public String moreData;
@SerializedName("even_more_data")
public int evenMoreData;
}
public class EventData {
@SerializedName("status")
public String eventStatus;
@SerializedName("participants")
public String numberOfParticipants;
}
有没有办法将所有这些信息存储在一个 POJO 中?
谢谢
@Joseph82,使用内部 类 并不总是一个好主意。如果您不小心并且不知道自己在做什么,则确实存在内存泄漏的可能性。因此,我会建议在使用 Retrofit 时坚持两种 类 方法(个人意见)。
这是关于该主题的 Whosebug 讨论的 link。检查 "Garbage Collection and Non-Static Inner Classes" 部分
几天前,我开始使用 Retrofit 而不是 OkHTTP 来与 API 进行通信。一切都很完美,但我有疑问,但我没有找到任何明确的地方。
如果我的 API 有这样的 JSON 回复
{
"event": {
"status": "4",
"participants": "5.455"
},
"more_data": "string_data",
"even_more_data": 0
}
这意味着我应该有这样的 POJO 结构?
public class Event {
@SerializedName("event")
public EventData data;
@SerializedName("more_data")
public String moreData;
@SerializedName("even_more_data")
public int evenMoreData;
}
public class EventData {
@SerializedName("status")
public String eventStatus;
@SerializedName("participants")
public String numberOfParticipants;
}
有没有办法将所有这些信息存储在一个 POJO 中?
谢谢
@Joseph82,使用内部 类 并不总是一个好主意。如果您不小心并且不知道自己在做什么,则确实存在内存泄漏的可能性。因此,我会建议在使用 Retrofit 时坚持两种 类 方法(个人意见)。
这是关于该主题的 Whosebug 讨论的 link。检查 "Garbage Collection and Non-Static Inner Classes" 部分