Est-il possible d'avoir un seul champ dans une classe, mais des noms différents pour celui-ci lors de la sérialisation/désérialisation dans la bibliothèque Jackson ?
Par exemple, j'ai la classe "Coordiantes".
class Coordinates{
int red;
}
Pour la désérialisation à partir de JSON, je veux avoir un format comme celui-ci :
{
"red":12
}
Mais quand je vais sérialiser l'objet, le résultat devrait être comme celui-ci :
{
"r":12
}
J'ai essayé de mettre cela en œuvre en appliquant @JsonProperty
à la fois sur le getter et le setter (avec des valeurs différentes) :
class Coordiantes{
int red;
@JsonProperty("r")
public byte getRed() {
return red;
}
@JsonProperty("red")
public void setRed(byte red) {
this.red = red;
}
}
mais j'ai eu une exception :
org.codehaus.jackson.map.exc.UnrecognizedPropertyException : Champ "rouge" non reconnu