2 回答

TA贡献1779条经验 获得超6个赞
是的,你是对的,反序列化时使用了错误的类型。
我不确定,但是您的days数组包含另一个带有day对象的数组,但是在您的结构中 ArrayList 由 objects 组成day,而不是它们的数组。
正确的 JSON 将是:
{
"days":[
{
"day":"2019-04-29",
"time":"08:00-09:30",
"room":"room1",
"name":"lecture1",
"lecturer":"prof1",
"eventId":332713,
"modified":false
},
{
"day":"2019-05-02",
"time":"08:00-10:15",
"room":"room2",
"name":"lecture2",
"lecturer":"prof2",
"eventId":332714,
"modified":false
},
......
]
}
因此,根据需要修复的内容更改响应结构或 pojo 对象。
如果你需要修改 POJO,你ArrayList必须包含List天数。

TA贡献1810条经验 获得超4个赞
你能像下面这样拥有你的 POJO。我尝试使用您的 JSON 反序列化,并且能够成功反序列化。
class Day {
private String day;
private String time;
private String room;
private String name;
private String lecturer;
private Integer eventId;
private Boolean modified;
public void setDay(String day) {
this.day = day;
}
public void setTime(String time) {
this.time = time;
}
public void setRoom(String room) {
this.room = room;
}
public void setName(String name) {
this.name = name;
}
public void setLecturer(String lecturer) {
this.lecturer = lecturer;
}
public void setEventId(Integer eventId) {
this.eventId = eventId;
}
public void setModified(Boolean modified) {
this.modified = modified;
}
}
class Main{
private List<List<Day>> days;
public void setDays(List<List<Day>> days) {
this.days = days;
}
}
添加回答
举报