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;
}
}
添加回答
舉報