Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java jackson不反序列化子列表对象_Java_Json_Mongodb_Jackson - Fatal编程技术网

Java jackson不反序列化子列表对象

Java jackson不反序列化子列表对象,java,json,mongodb,jackson,Java,Json,Mongodb,Jackson,我收到以下JSON: {"firstName":"charle","lastName":"charly","books":[{"title":"navle"}]} 我试着把它解析成这个Jackson对象: @JsonIgnoreProperties(ignoreUnknown = true) public class Person { @Id @ObjectId private String _id; private String firstName; private St

我收到以下JSON:

{"firstName":"charle","lastName":"charly","books":[{"title":"navle"}]}
我试着把它解析成这个Jackson对象:

@JsonIgnoreProperties(ignoreUnknown = true)
public class Person {

  @Id @ObjectId
  private String _id;

  private String firstName;
  private String lastName;
  List<Book> books; 
// getters/setters ..
}
@JsonIgnoreProperties(ignoreUnknown=true)
公共阶层人士{
@Id@ObjectId
私有字符串_id;
私有字符串名;
私有字符串lastName;
列出书籍;
//接受者/接受者。。
}
问题是我得到的对象“Person”总是有一个空的图书列表


我错过了什么

公开图书列表,Jackson将只序列化“可见”属性。 此外,书籍属性必须是公共的

public List<Book> books; 
公开书目;
或者最好创建一个getter

@JsonProperty("books")
public List<Books> getBooks() {
   return books;
}
@JsonProperty(“书籍”)
公共列表getBooks(){
还书;
}
这本书的属性“title”应该是公开的,或者你必须像这样注释他的getter:

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

谢谢你的提示。当我将属性“title”设置为public而不是private时,它会起作用。注释也很有效