【发布时间】:2019-04-11 03:42:40
【问题描述】:
我有一个具有这种结构的 JSON:
{
"response": {
"2018-11-19": [
{
"date_end": {
"year": "2018",
"day_verbose": "Sun",
"month": "11",
"month_verbose": "Nov",
"time": "10:30",
"iso": "2018-11-19T10:30:00",
"day": "19"
},
"date_start": {
"year": "2018",
"day_verbose": "Sun",
"month": "11",
"month_verbose": "Nov",
"time": "08:00",
"iso": "2018-11-19T08:00:00",
"day": "19"
},
"id": "20181119080000001018"
},
{
"date_end": {
"year": "2018",
"day_verbose": "Sun",
"month": "11",
"month_verbose": "Nov",
"time": "10:30",
"iso": "2018-11-19T10:30:00",
"day": "19"
},
"date_start": {
"year": "2018",
"day_verbose": "Sun",
"month": "11",
"month_verbose": "Nov",
"time": "09:30",
"iso": "2018-11-19T09:30:00",
"day": "19"
},
"id": "20181119093000001018"
},
{
"date_end": {
"year": "2018",
"day_verbose": "Sun",
"month": "11",
"month_verbose": "Nov",
"time": "10:30",
"iso": "2018-11-19T10:30:00",
"day": "19"
},
"date_start": {
"year": "2018",
"day_verbose": "Sun",
"month": "11",
"month_verbose": "Nov",
"time": "10:00",
"iso": "2018-11-19T10:00:00",
"day": "19"
},
"id": "20181119100000001018"
},
{
"date_end": {
"year": "2018",
"day_verbose": "Sun",
"month": "11",
"month_verbose": "Nov",
"time": "10:30",
"iso": "2018-11-19T10:30:00",
"day": "19"
},
"date_start": {
"year": "2018",
"day_verbose": "Sun",
"month": "11",
"month_verbose": "Nov",
"time": "10:30",
"iso": "2018-11-19T10:30:00",
"day": "19"
},
"id": "20181119103000001018"
}
],
"2018-11-16": [
{
"date_end": {
"year": "2018",
"day_verbose": "Sun",
"month": "11",
"month_verbose": "Nov",
"time": "11:15",
"iso": "2018-11-16T11:15:00",
"day": "16"
},
"date_start": {
"year": "2018",
"day_verbose": "Sun",
"month": "11",
"month_verbose": "Nov",
"time": "10:00",
"iso": "2018-11-16T10:00:00",
"day": "16"
},
"id": "20181116100000001018"
},
{
"date_end": {
"year": "2018",
"day_verbose": "Sun",
"month": "11",
"month_verbose": "Nov",
"time": "11:15",
"iso": "2018-11-16T11:15:00",
"day": "16"
},
"date_start": {
"year": "2018",
"day_verbose": "Sun",
"month": "11",
"month_verbose": "Nov",
"time": "11:15",
"iso": "2018-11-16T11:15:00",
"day": "16"
},
"id": "20181116111500001018"
}
]
},
"success": true,
"error": {}
}
主要困难是可以有很多像“2018-11-19”这样的对象。他们的名字事先是未知的。 我可以解析“成功”字段和“错误”对象,但我遇到了“响应”对象的问题。我收到带有空响应对象的“OK”HTTP 代码。我认为映射有问题。 这是我的映射类:
public class AppointmentListApiResponse extends ApiResponse {
@SerializedName("response")
@Expose
private Response response;
@SerializedName("success")
@Expose
private Boolean success;
@SerializedName("error")
@Expose
private Error error;
// getters and setters
public class Response {
// I've tried these versions
//private Map<String, AppointmentInfo> appoints;
//private Map<String, List<AppointmentInfo>> appoints;
//private List<List<AppointmentInfo>> appoints;
// but they don't work for me
// getters and setters
}
这是 AppointmentInfo 类:
public class AppointmentInfo {
@SerializedName("date_start")
@Expose
private Date dateStart;
@SerializedName("date_end")
@Expose
private Date dateEnd;
@SerializedName("id")
@Expose
private String id;
// getters and setters
public class Date {
@SerializedName("day")
@Expose
private String day;
@SerializedName("day_verbose")
@Expose
private String dayVerbose;
@SerializedName("iso")
@Expose
private String dateTime;
@SerializedName("month")
@Expose
private String month;
@SerializedName("month_verbose")
@Expose
private String monthVerbose;
@SerializedName("time")
@Expose
private String time;
@SerializedName("year")
@Expose
private String year;
// getters and setters
}
}
【问题讨论】:
标签: android json parsing gson retrofit