2017-06-22 1 views
0

ich die folgende Version des Federrahmens bin mit:Spring-Framework serialisiert werden Arbeiten nicht für JSON, die einen Schlüssel mit einem Unterstrich hat

<org.springframework.version>3.2.4.RELEASE</org.springframework.version> 

Mein json Objekt unter

{ 
    "temp":20.94, 
    "temp_min":20.94, 
    } 

Hinweis gegeben dass einer der Schlüssel einen Unterstrich (temp_min) hat. Mein Modell ist wie folgt:

private double temp_min; 

public double getTempMin() { 
    return this.temp_min; 
} 

public void setTempMin(double temp_min) { 
    this.temp_min = temp_min; 
} 
private double temp; 

public double getTemp() { 
    return this.temp; 
} 

public void setTemp(double temp) { 
    this.temp = temp; 
} 

Temp richtig eingestellt ist, aber "temp_min" nicht gesetzt ist.

Ich versuchte @JsonProperty("temp_min") über die Getter, Setter und Variablendeklaration.

Ich verwende die Standard-Serialisierung von Spring Framework. Könnte mir bitte jemand helfen, dies zu lösen?

+0

I versucht haben, @ JsonProperty ("temp_min") über Getter, Setter und Variablendeklaration – user3221996

Antwort

0

Sie können variable Anmerkung auf

hinzufügen
@JsonProperty(temp_min) 
    private double temp_min; 

Fügen Sie auch auf Klassenname

@JsonIgnoreProperties(ignoreUnknown = true) 
0

Sie wollen die Variable zu annotieren, aber Sie wollen auch sie richtig mit Anmerkungen versehen.

Verwendung genau einer dieser Lösungen:

1) Beschriften Sie die private Variable mit @JsonProperty. Anmerken

@JsonProperty("temp_min") 
private double temp_min 

2) die Einstelleinrichtung (Getter und, falls erforderlich)

@JsonSetter("temp_min") 
public void setTempMin(...) 
{ 
    ... 
} 

@JsonGetter("temp_min") 
public double getTempMin() 
{ 
    ... 
} 

3) Beschriften der Setter (Getter und, falls erforderlich) unter Verwendung von @JsonProperty

@JsonProperty("temp_min") 
public void setTempMin(...) 
{ 
    ... 
} 

@JsonProperty("temp_min") 
public double getTempMin() 
{ 
    ... 
} 
Verwandte Themen