我有一个生成的Java类,该类在字段上用@XMLElement
注释,以将名称从大写更改为小写:
class RECTYPE {
@XmlElement(name = "simple")
public String SIMPLE;
@XmlElement(name = "bool")
public Boolean BOOL;
}
我知道我可以使用@JsonProperty
(Change field name in JSON using Jackson)来获取小写的Json,但是我不想更改生成的类。
我可以以某种方式使用我拥有的name
注释的@XMLElement
属性并告诉Jackson使用它吗?
谢谢!
答案 0 :(得分:0)
感谢jaudo-问题已经在这里回答:Change field name in JSON using Jackson
我使用以下摘录来使用@XMLElement
批注:
objectMapper.setAnnotationIntrospector(AnnotationIntrospector.pair( new JaxbAnnotationIntrospector(TypeFactory.defaultInstance()), new JacksonAnnotationIntrospector()));
答案 1 :(得分:0)
您还可以在其他类上使用混合注释。这种情况对您有用,Mix-in类如下所示:
abstract class RectypeMixIn {
@JsonProperty("simple") abstract String getSimple(); // rename property
@JsonProperty("bool") abstract Boolean getBool(); // rename property
}
以这种方式配置您的ObjectMapper:
objectMapper.addMixInAnnotations(RECTYPE.class, RectypeMixIn.class);
检查此文档here以获得更多详细信息