杰克逊不反序列化子列表对象
问题描述:
我收到以下JSON:杰克逊不反序列化子列表对象
{"firstName":"charle","lastName":"charly","books":[{"title":"navle"}]}
,我尝试将它解析为这杰克逊对象:
@JsonIgnoreProperties(ignoreUnknown = true)
public class Person {
@Id @ObjectId
private String _id;
private String firstName;
private String lastName;
List<Book> books;
// getters/setters ..
}
的问题是,对象“人”我得到的书籍总是空着的!
我失踪了什么?
答
本书的attribut “称号” 应该是公共的,或者你必须注解他消气这样的:
@JsonProperty("title")
public String getTitle() {
return title;
}
答
使书籍列表公开,Jackson将只序列化“可见”属性。 Plus书籍的属性必须是公开的。
public List<Book> books;
或更好地创造一个getter
@JsonProperty("books")
public List<Books> getBooks() {
return books;
}
THX为你的暗示。它在我将属性“title”设置为public而不是private时起作用。注释也能很好地工作 – Dupont 2014-10-16 12:48:55
没问题...接受或提高答案 – Drejc 2014-10-16 13:36:11