È possibile: avere un campo in classe, ma nomi diversi durante la serializzazione / deserializzazione nella biblioteca di Jackson?
Ad esempio, ho classe "Coordiantes".
class Coordinates{
int red;
}
Per la deserializzazione da JSON vuoi avere un formato come questo:
{
"red":12
}
Ma quando serializzerò l'oggetto, il risultato dovrebbe essere come questo:
{
"r":12
}
Ho provato a implementare questo applicando l' @JsonProperty
annotazione sia su getter che sul setter (con valori diversi):
class Coordiantes{
int red;
@JsonProperty("r")
public byte getRed() {
return red;
}
@JsonProperty("red")
public void setRed(byte red) {
this.red = red;
}
}
ma ho ottenuto un'eccezione:
org.codehaus.jackson.map.exc.UnrecognizedPropertyException: campo non riconosciuto "rosso"