Czy jest możliwe: mieć jedno pole w klasie, ale różne nazwy dla niego podczas serializacji / deserializacji w bibliotece Jacksona?
Na przykład mam klasę „Coordiantes”.
class Coordinates{
int red;
}
W przypadku deserializacji z JSON chcesz mieć taki format:
{
"red":12
}
Ale kiedy zserializuję obiekt, wynik powinien być taki:
{
"r":12
}
Próbowałem to zaimplementować, stosując @JsonProperty
adnotacje zarówno na getter, jak i setter (z różnymi wartościami):
class Coordiantes{
int red;
@JsonProperty("r")
public byte getRed() {
return red;
}
@JsonProperty("red")
public void setRed(byte red) {
this.red = red;
}
}
ale mam wyjątek:
org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Nierozpoznane pole „czerwone”