Como mapear nomes de campos JSON para diferentes nomes de campos de objetos?

Qual é a maneira equivalente na anotação Jackson Jackson para as seguintes anotações jax-

Preciso produzir json em vez de xml e preciso conhecer as anotações de jackson convencionais que são equivalentemente indicadas em jax-

renomeie um campo. use getters em vez de campo

Esses recursos são especialmente cruciais se o nome do elemento json / xml for uma palavra reservada em java como "new ","public ","static "etc.

Para que tenhamos de nomear os campos do POJO como "_new_", "_public_", "_static_", etc, respectivamente,

mas use a anotação jax-b para renomeá-los para "novo", "público", "estático" etc. nos elementos XML (e json) gerado

Renomeando um campo

@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_ ;
}

Redirecione para usar o getter de propriedades (Acho que é assim que é feito em 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_;}
}

questionAnswers(6)

yourAnswerToTheQuestion