使用Jackson& amp; JSON到POJO的转换JsonPath

时间:2017-03-16 10:26:31

标签: json jackson unmarshalling pojo jsonpath

我有一个数据场景,我想使用嵌套对象的属性填充我的POJO类中的属性。下面只是一个例子,但我有很多这样的嵌套变量。

例如我的java类如下

public class Book{
    private String title;
    private String author;
    private  String isbn;
    ...     
}

我需要反序列化的json响应如下

{
    "title":"the jungle book",
    "author":"Rudyard Kipling",
    "code":{
        "isbn":"1616416920"
        }
 }

因此,我的java类中的属性 isbn 需要使用代码对象中的嵌套字段 isbn 进行填充。

我尝试使用 @JsonProperty ,如下所示

@JsonProperty(value="code.isbn")
private String isbn;

但它仍然在我的java POJO类中将属性 isbn 设置为null。 有人可以建议我怎么做。

提前感谢你。

1 个答案:

答案 0 :(得分:0)

您可以编写自定义代码来解析json,以通过解析嵌套对象来创建具有isbn值设置的Book对象。

对于给定的json,你需要定义一个对象说“Code”

public class Book {
    @JsonProperty(value="title")
    private String title;

    @JsonProperty(value="author")
    private String author;

    @JsonProperty(value="code")
    private Code code;
}

public class Code {
    @JsonProperty(value="isbn")
    public String isbn;
}