Jackson json注释中以下jax-b注释的等效方式是什么?
我需要生成json而不是xml,并且需要了解在jax-b中等效表示的常规jackson批注。
如果json / xml元素名称是Java保留字(例如“ new”,“ public”,“ static”等),则这些功能尤其重要。
new
public
static
因此我们必须将POJO字段分别命名为“ new ”,“ _ public ”,“ _ static”等,
但请使用jax-b批注在生成的XML(和json)元素中将其重命名为“ new”,“ public”,“ static”等。
重命名字段
@XmlAccessorType(XmlAccessType.FIELD) public class Person{ @XmlElement(required = true) protected String name; @XmlElement(required = true) protected String address; @XmlElement(name = "contractor") protected boolean _restricted_ ; @XmlElement(name = "new") protected boolean _new_ ; }
重定向到使用属性获取器 (我认为这是在jax-b中完成的方式)
@XmlAccessorType(XmlAccessType.PROPERTY) public class Person{ protected String name; protected String address; protected boolean _restricted_ ; protected boolean _new_ ; @XmlElement(required = true) protected String getName() {return name;} @XmlElement(required = true) protected String getAddress() {return address;} @XmlElement(name = "contractor") protected boolean getRestricted() {return _restricted_;} @XmlElement(name = "new") protected boolean getNew(){return _new_;} }
可能有点晚了,但是无论如何。
您可以重命名一个属性,只需添加
@JsonProperty("contractor")
默认情况下,Jackson使用getter和setter进行序列化和反序列化。
有关更多详细信息,请访问:http : //wiki.fasterxml.com/JacksonFAQ