2016-12-19 3 views
1

ich Jackson verwende und ich bin mit generische Klasse für die Antwort wie folgt aus:Rename Elementname in Allgemein Klassen

public class GenericListInfoResponse<T> extends GenericResponse { 

    private T resultInfo; 

    public GenericListInfoResponse(T resultInfo) { 
     super(); 
     this.resultInfo = resultInfo; 
    } 

    public T getResultInfo() { 
     return resultInfo; 
    } 

    public void setResultInfo(T resultInfo) { 
     this.resultInfo = resultInfo; 
    } 

} 

ich einige Daten gefassten kommt von meinem Service:

TitleListInfo titleListInfo = dropdownDataService.getTitleList(transactionId); 
response.setResultInfo(titleListInfo); 

nach, dass es gibt diese Art von JSON zurück:

{ 
    "resultInfo": { 
    "combinedMessage": "", 
    "messageCode": null 
    ... 
} 

Ich möchte den Elementnamen anstelle von "resultInfo" umbenennen. Zum Beispiel "titleInfo"

Antwort

0

Ich nehme an, dass Sie das tun wollen, ohne nur den Namen der Variablen zu ändern? Versuchen Sie, ein Feld mit @JsonProperty("titleInfo") zu kommentieren, sollte es funktionieren.

Wenn es nicht funktioniert, versuchen Sie stattdessen Getter und Setter annotieren.

+0

Danke für Ihre Antwort, aber ich brauche dynamische @ JsonProperty Name. Ich werde meine Klasse wieder verwenden. Und ich will es umbenennen zum Beispiel userInfo, ein anderer Ort vielleicht meberInfo ... –

+1

Oh, Entschuldigung, scheint irgendwie offensichtlich das ist, was Sie wollten, jetzt, wo ich das gelesen habe. Schauen Sie sich das dann an: http://StackOverflow.com/Questions/22321155/Jackson-Generics-with-Variable-JsonProperty-Usage-with-generics – Shadov

+0

@Whatsz danke, dass es korrekt ist. Ich markiere meine Frage als dupliziert. –