[英]Deserializing a field named “class” into a POJO using Jackson
This may look a dumb question, but I would like to deserialize a JSON object to a POJO MyObject
with a field named class
, which is a reserved keyword in Java... If possible, I'd like to keep MyObject
Jackson/Json/Whatever-dependency free. 这可能看起来很愚蠢,但我想将一个JSON对象反序列化为一个名为
class
的字段的POJO MyObject
,这是Java中的保留关键字...如果可能的话,我想保留MyObject
Jackson / Json /无论什么依赖免费。
Do I need to add a (standard or Jackson-specific) Java annotation to my class field member to handle this? 我是否需要在我的类字段成员中添加(标准或杰克逊特定的)Java注释来处理此问题? Or is there another work-around to have a "pure" java object?
还是有另一个解决方法来拥有一个“纯” java对象? I can configure the Jackson object mapper if needed.
如果需要,我可以配置Jackson对象映射器。
public class MyObject {
public String field1;
public String class; // FAIL
}
Since class
is a reserved Java keyword, you cannot use it directly. 由于
class
是保留的Java关键字,因此您不能直接使用它。 If you simply want the generated JSON to have it, use @JsonProperty
and set its value
attribute. 如果您只是想让生成的JSON拥有它,请使用
@JsonProperty
并设置其value
属性。
public class MyObject {
public String field1;
@JsonProperty(value = "class")
public String clazz;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.