jackson不反序列化子列表对象

时间:2014-10-16 12:31:29

标签: java json mongodb jackson

我收到以下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 ..
}

问题是我得到的对象“人”总是一本空的书籍清单!

我缺少什么?

2 个答案:

答案 0 :(得分:2)

将公开的图书列表公开,杰克逊将仅序列化“可见”属性。 Plus Book属性必须是公开的。

public List<Book> books; 

或更好地创建一个getter

@JsonProperty("books")
public List<Books> getBooks() {
   return books;
}

答案 1 :(得分:1)

attribut&#34; title&#34;这本书应该是公开的,或者你必须这样注释他的吸气剂:

@JsonProperty("title")
public String getTitle() {
   return title;
}