Что такое эквивалентный путь в аннотации Джексона json для следующих jax-b аннотаций?
Мне нужно создать json, а не xml, и вам нужно знать обычные аннотации jackson, которые эквивалентно обозначаются в jax-b.
- переименуйте поле.
- использовать getters вместо полей.
Эти функции особенно важны, если имя элемента json/xml является зарезервированным словом java
"new
", "public
", "static
" и т.д.
Итак, мы должны называть поля POJO как "_new_", "_public_", "_static_" и т.д., соответственно,
но используйте jax-b аннотацию, чтобы переименовать их обратно в "новые", "общедоступные", "статические" и т.д. в сгенерированных элементах XML (и json).
Переименование поля
@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_ ;
}
Перенаправить на использование свойства getter (я думаю, что это делается в 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_;}
}