使用 Jackson 从文本文件映射到 json 到 Java 对象时如何忽略属性?

How to ignore attribute when mapping to json from a text file to a Java object using Jackson?

我有一个文本文件 'input.txt',其中包含此文本

{
  "product" : {
    "name" : "Pro-1",
    "category" : "A"
  }
}

和一个class

public class  Product {
    @JsonProperty("name")
    public String name;
    @JsonProperty("category")
    public String category
    ...
    ...
}

我正在使用 Jackson

Product p = mapper.readValue(new File("input.txt"), Product.class);

我的 class 没有名为 "product" 的属性,因此在将 json 文本映射到产品对象时发生异常。那么,当从文本文件映射到 Product 对象时,忽略此 "product" 属性的正确方法是什么?

尝试这样的事情。

public class OuterClass{
    @JsonProperty("product")
    public Product product;
}

OuterClass outerObject = mapper.readValue(new File("input.txt"), OuterClass.class);

那你就可以用了outerObject.product