Hallo,
ich möchte Java Objekte über einen Socket verschicken. Dazu habe ich einen Parser geschrieben der JSON Nachrichten erstellt und auch wieder parst.
Nun möchte ich ein Interface definieren, das es mir erlaubt alle Objekte die dieses Interface implementieren in JSON Objekte umzuwandeln und aus JSON Objekten wieder zu instanziieren.
Ich dachte an ein Interface wie das oben beschriebene. Nun habe ich allerdings das Problem, dass ich jedes mal ein Objekt benötige um ein neues Objekt aus einem JSON zu erzeugen. Die eigentlich logische Lösung wäre eine statische Factory Methode, aber das ist so ja nicht erlaubt.
Gibt es eine Möglichkeit Klassen zu zwingen eine statische Methode zu implementieren? Gibt es eine andere schöne Möglichkeit für Objekte eine JSON Repräsentation sowie deren Konvertierung zu implementieren?
Oder sollte ich am Ende doch gson verwenden?
ich möchte Java Objekte über einen Socket verschicken. Dazu habe ich einen Parser geschrieben der JSON Nachrichten erstellt und auch wieder parst.
Nun möchte ich ein Interface definieren, das es mir erlaubt alle Objekte die dieses Interface implementieren in JSON Objekte umzuwandeln und aus JSON Objekten wieder zu instanziieren.
Java:
public interface JSONMessageInterface<E> {
// Das ist soweit klar
public JSONObject getJSONRepresentation();
// Hier weiß ich nicht weiter
public E getObjectFromJSON(JSONObject object);
}
Ich dachte an ein Interface wie das oben beschriebene. Nun habe ich allerdings das Problem, dass ich jedes mal ein Objekt benötige um ein neues Objekt aus einem JSON zu erzeugen. Die eigentlich logische Lösung wäre eine statische Factory Methode, aber das ist so ja nicht erlaubt.
Gibt es eine Möglichkeit Klassen zu zwingen eine statische Methode zu implementieren? Gibt es eine andere schöne Möglichkeit für Objekte eine JSON Repräsentation sowie deren Konvertierung zu implementieren?
Oder sollte ich am Ende doch gson verwenden?