使用Jackson将名为"class"的字段反序列化为POJO

Lau*_*ire 2 java json unmarshalling jackson

这看起来可能是一个愚蠢的问题,但我想将一个JSON对象反序列化为一个MyObject名为的字段的POJO class,这是Java中的保留关键字...如果可能的话,我想保留MyObjectJackson/Json/Whatever-dependency自由.

我是否需要在我的类字段成员中添加(标准或杰克逊特定的)Java注释来处理此问题?或者是否有另一种解决方案来拥有一个"纯粹的"java对象?如果需要,我可以配置Jackson对象映射器.

public class MyObject {
  public String field1;
  public String class; // FAIL
}
Run Code Online (Sandbox Code Playgroud)

Sot*_*lis 7

由于class是保留的Java关键字,因此无法直接使用它.如果您只是想让生成的JSON拥有它,请使用@JsonProperty并设置其value属性.

public class MyObject {
    public String field1;

    @JsonProperty(value = "class")
    public String clazz; 
}
Run Code Online (Sandbox Code Playgroud)