2017-02-24 1 views
0

Ich habe derzeit meine POJO-Klasse als solche zum Deserialisieren einer JSON-Quelle.Problem mit @ JsonProperty auf Methode

public class OpenBuilding extends Building { 

    @JsonProperty("BuildingPostCode") 
    @Override 
    public String getPostcode() { 
     return super.getPostcode(); 
    } 
} 

Wo die übergeordnete Klasse ist als solche

public abstract class Buidling { 

    protected String postcode; 

    public String getPostcode() { 
     return this.postcode; 
    } 
} 

Mein Problem ist, dass die String Postleitzahl ist überhaupt nicht abgebildet zu werden. Es funktioniert, wenn die Anmerkung auf dem Feld verwendet wird. Da es sich jedoch um ein geerbtes Feld handelt und ich andere untergeordnete Elemente von Building habe, die für dieselben Daten unterschiedliche Eigenschaftsnamen verwenden, kann ich dies nicht auf diese Weise implementieren.


Zum Beispiel:

public class DirectedBuilding extends Building { 

    @JsonProperty("Pseudo_PostCode") 
    @Override 
    public String getPostcode() { 
     return super.getPostcode(); 
    } 
} 

Antwort

0

Vielleicht versuchen, einen Konstruktor mit @JsonCreator definieren.

+0

Es ist nützlich für diesen Fall, wird aber weniger wartbar, wenn ich dies für 10-20 Variablen tun muss, was für einige andere Klassen gilt – Flemingjp

Verwandte Themen