Eigenschaft ändern-Namen, während deserialzing Klasse zu JSON in Spring MVC

Ich versuche, Sie zu konsumieren eines rest-API-Aufruf mit Spring wie folgt:

HttpHeaders headers = new HttpHeaders();
headers.add("Authorization", "Basic " + base64Creds);

HttpEntity<String> request = new HttpEntity<String>(headers);
RestTemplate restTemplate = new RestTemplate();

Item item = restTemplate.exchange(url, HttpMethod.GET, request, Item.class).getBody();

Die Antwort, die ich von der API ist in der folgenden form:

{    
"item":[{
    "itemname": "abc",
    "qty":...
}]
}

Den Artikel Klasse besitzt folgende Felder:

Class Item{
    @JsonProperty("itemname")
    String name;
    @JsonProperty("qty")
    int quantity;

    //Getter /setter methods
}

Habe ich JsonProperty Anmerkungen zu den Feldern, wie Ihre Namen unterscheiden sich von den json bekomme ich aus der API. Mit dieser, ich bin in der Lage, zu Deserialisieren der api-Antwort erfolgreich.

Jedoch, wenn ich versuche zu serialisieren der Item-Klasse wieder als json, die Feldnamen sind "itemname" und "Menge". Gibt es eine Möglichkeit, diese zu halten, wie "name" und "Menge", und noch in der Lage sein, um anzeigen der API-Antwort?

Vielen Dank im Voraus.

Ich glaube du verwechselst Serialisierung & Deserialisierung. Beim abrufen der Wert von externen Präsentation - es ist die Deserialisierung, die beim speichern im externen Präsentation - es ist die Serialisierung.

InformationsquelleAutor drunkenfist | 2015-02-26

Schreibe einen Kommentar