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

时间:2013-09-03 17:32:19

标签: java json jackson unmarshalling

这可能看起来很愚蠢,但我想将JSON对象反序列化为POJO MyObject,其中包含一个名为class的字段,这是Java中的保留关键字...如果可能,我想保留MyObject Jackson / Json / Whatever-dependency free。

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

public class MyObject {
  public String field1;
  public String class; // FAIL
}

1 个答案:

答案 0 :(得分:7)

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

public class MyObject {
    public String field1;

    @JsonProperty(value = "class")
    public String clazz; 
}