die umwandeln Lassen Sie sagen, ich einen Anruf an einen thrid Partei-API ein Objekt Aufgabe zu bekommen und ich die folgende JSON String im Gegenzug:Wie JSON-Objekt von Dritter api in lokale POJO
{
"tasks": [
{
"id": 1,
"code": "CODE",
"description": "Dummy Task",
"withConfirmation": false,
"resource": {
"id": "abcdef12-fe14-57c4-acb5-1234e7456d62",
"group": "Doctor",
"firstname": "Toto",
"lastname": "Wallace",
},
{
"id": 2,
"code": "CODE",
"description": "Dummyyy Taaask",
"withConfirmation": false
}
]
}
In der zurückgegebenen JSON haben wir eine Aufgabe, die mit einer Ressource verbunden werden kann.
In unserem System eine Aufgabe ist wie folgt:
@JsonAutoDetect
public class Task implements Serializable {
private Integer id;
private String code = "BASIC";
private String description;
private boolean withConfirmation = false;
/**
* CONSTRUCTOR
*/
public Task() {
}
public Integer getId() {
return id;
}
@JsonProperty
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
@JsonProperty
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
@JsonProperty
public boolean isWithConfirmation() {
return withConfirmation;
}
public void setWithConfirmation(boolean withConfirmation) {
this.withConfirmation = withConfirmation;
}
public String toString() {...
}
}
und eine Ressource sieht wie folgt aus:
public class Resource implements Serializable {
...
private String firstname;
private String lastname;
private MedicalGroup group; // id + name + description
private Set<Task> tasks = new HashSet<Task>(0);
...
// getters and setters and toString etc.
...
}
So ist der große Unterschied, abgesehen von den Feldnamen ist das eine Aufgabe enthält keine Ressource aber die Beziehung ist eher im Gegensatz iter Richtung, was bedeutet, dass eine Ressource kann nAufgabe halten.
Was wäre für diesen Fall der beste Weg zu serialisieren das zurückgegebene JSON-Objekt von der dritten Partei und konvertieren/zu einem Pojo aus meinem eigenen System zu konvertieren? Ich lese gerade Gson Doc, um es zu versuchen, aber jeder Vorschlag ist willkommen. Dieser Code muss leicht wiederverwendbar sein, da er in mehreren Projekten benötigt wird.
Haben wir ein Verbindungsfeld zwischen Ressource und Aufgabe oder wir müssen introspect JSON Antwort um herauszufinden, welche Aufgabe welche Ressource hält? –
wir müssen inspizieren, um es herauszufinden – jon
Ein Beispiel dafür http://www.mkyong.com/java/jackson-2-convert-java-object-to-from-json/ – Naruto