2016-07-09 5 views
1

Ich lese ein Objekt als XML und json im Frühjahr alles ist in Ordnung. Ich möchte jedoch eine der Variablen ändern. Nehmen wir an, ichWie ändert man den Inhalt während der Konvertierung von XML nach Json im Frühjahr?

@XmlRootElement (name="Person") 
@XmlAccessorType(XmlAccessType.FIELD) 

public class Person{ 
//a lot variable same when reading and response 
private String nameSurname; 

Im obigen Beispiel Objekt Person lese ich xml lesen <nameSurname>JohnNash<nameSurname> aber ich will {"name":"John","surname":Nash}

So zurückzukehren, was ist der beste Ansatz, es zu tun?

Sollte ich 2 verschiedene Objekte verwenden und eine Mapper-Funktion schreiben? (xmlPerson, jsonPerson)

Sollte ich nur ändern Getter-Funktion, um Inhalt zu ändern, so dass es JSON wie ich will produzieren?

Sollte ich nur 1 Objekt verwenden und benutzerdefinierte JSON-Konverter-Funktion schreiben?

Antwort

1

Idealerweise sollten XML und JSON ähnlich sein, da die allgemeine Idee darin besteht, REST-konforme Dienste zu verwenden, die, egal ob Sie XML- oder JSON-Format einspeisen, auf die gleiche Weise damit umgehen - daher die Notwendigkeit von Konvertern wie Gson, Jackson, etc.

Aber aus einem bestimmten Grund, wenn Sie ein XML-Element zu zwei JSON-Attribute zuordnen möchten, wäre der beste Weg, damit umzugehen wäre, ein einzelnes Objekt zu verwenden und ein zu schreiben Json-Konverter dafür. Dies gibt Ihnen die Flexibilität, den Mapping-Code an einer Stelle zu platzieren, die zu einem späteren Zeitpunkt leicht geändert werden kann.

+0

Ich lese tatsächlich xml von einem anderen Dienst, deshalb möchte ich Variablennamen und Karten zu den verschiedenen Objekten ändern. Vielen Dank für Ihre Antwort. – Richard

Verwandte Themen