2016-08-06 5 views
2

Am als eine JSON-Datei mit folgendenConvert Json zu Java-Objekt mit reservierten Variablen

{ 
     "boost_id": "75149", 
     "content_id": "627680", 
     "headline": "19 Rare Historical Photos That Will Leave You Breathless ", 
     "target_url": "http://stars.americancolumn.com/2016/02/21/historical-photos/?full=1", 
     "return": "district" 
} 

Ich brauche json String in Java-Objekt zu konvertieren. Da die "Rückgabe" als reservierte Java-Schlüsselwörter bekannt ist, kann ich kein Dto mit Rückgabevariable bilden.

Gibt es eine andere Möglichkeit, die reserve-Variable zu verwenden und das obige JSON in ein JAVA-Objekt umzuwandeln.

Unten ist meine Dto Struktur,

public class RevcontentReportResponse { 

    private String boost_id; 
    private String content_id; 
    private String headline; 
    private String target_url; 
// private String return; 

    public String getBoost_id() { 
     return boost_id; 
    } 

    public void setBoost_id(String boost_id) { 
     this.boost_id = boost_id; 
    } 

    public String getContent_id() { 
     return content_id; 
    } 

    public void setContent_id(String content_id) { 
     this.content_id = content_id; 
    } 

    public String getHeadline() { 
     return headline; 
    } 

    public void setHeadline(String headline) { 
     this.headline = headline; 
    } 

    public String getTarget_url() { 
     return target_url; 
    } 

    public void setTarget_url(String target_url) { 
     this.target_url = target_url; 
    } 
} 

Main-Methode:

ObjectMapper mapper = new ObjectMapper(); 

File json = new File("historic.json"); 
RevcontentReportResponse cricketer = mapper.readValue(json, RevcontentReportResponse.class); 
System.out.println("Java object created from JSON String :"); 
System.out.println(cricketer); 

Antwort

3

Verwenden Sie die JsonProperty Anmerkung:

@JsonProperty("return") 
private String returnValue; 

Das heißt, JSON steht für JavaScript Object Notation und Rückkehr ist auch ein JavaScript-Schlüsselwort (und es ist das gleiche für viele andere Sprachen). Sie sollten den Namen des Attributs in JSON ändern.

+0

arbeitete wie ein Charme –

2

Nur ein Feld mit seinem Getter/Setter hinzufügen und mit @JsonProperty("return") mit Anmerkungen versehen.