Ich muss entscheiden, welches ich verwenden soll. Mein Fall ist ziemlich einfach. Ich muss ein einfaches POJO / Bean in XML konvertieren und dann zurück. Nichts Besonderes.
Eine Sache, nach der ich suche, ist, dass sie auch die übergeordneten Eigenschaften enthält. Am besten wäre es, wenn es am Super-Typ arbeiten kann, der nur eine Marker-Schnittstelle sein kann.
Wenn jemand diese beiden mit Nachteile und Vorteile vergleichen kann, und welche Sache in welcher fehlt. Ich weiß, dass XStream auch JSON unterstützt, das ist ein Pluspunkt. Aber Einfach sah auf den ersten Blick einfacher aus, wenn wir JSON beiseite legen. Was ist die Zukunft von Simple in Bezug auf Entwicklung und Gemeinschaft? XStream ist ziemlich populär, glaube ich, sogar das Wort "XStream" traf viele Threads auf SO.
Danke.
Warum nicht stattdessen JAXB?
Nützliche Ressourcen:
Nur durch das Lesen der Dokumentation (Ich habe das gleiche Problem wie Sie, aber ich habe es noch nie versucht; nehmen Sie das mit einem Körnchen Salz):
XSTREAM
EINFACH
Handelt die Versionierung, indem sie bei der Syntaxanalyse nicht strikt ist, wenn die Klasse richtig ist, aber die Version ist anders. (Wenn Sie beispielsweise zwei Felder hinzugefügt und eine seit der letzten Version entfernt haben, wird das entfernte Feld ignoriert und keine Ausnahme ausgelöst, die hinzugefügten Felder werden jedoch nicht gesetzt.) Wie XStream scheint es keine Möglichkeit, Daten von einer Version zur nächsten zu migrieren, aber im Gegensatz zu XStream gibt es keine externe Bibliothek, die einsteigt und damit umgehen kann. Vermutlich ist der Weg, um dies zu handhaben, mit einigen externen Funktionen (und vielleicht eine "Version" Variable in Ihrer Klasse?), So dass Sie
Stuff myRestoredStuff = serializer.read (Stuff.class, Datei); myRestoredStuff.sanityCheck ();
Häufig verwendete (De) Serialisierungseinstellungen werden durch Hinzufügen / Bearbeiten von Anmerkungen vorgenommen, aber es gibt Unterstützung für das Schreiben eigener (De-) Serialisierungsfunktionen, um die Standardmethoden zu überschreiben, wenn Sie etwas Wolliges tun müssen.
>Bisher habe ich noch nie einfach Framework verwendet.
Basierend auf meinen Erfahrungen mit Xstream. Es funktionierte gut auf XML. Bei JSON ist das Ergebnis jedoch nicht so genau wie erwartet, wenn ich versuche, eine Bean seriell zu machen, die eine Hashtable-Liste enthält.
Ein "simples" (Wortspiel beabsichtigt) Nachteil von Simple und Jaxb ist, dass sie Ihre Objekte kommentieren müssen, bevor sie in XML serialisiert werden können. Was passiert an dem Tag, an dem Sie schnell den Code einer anderen Person mit Objekten annotieren wollen, die nicht mit Anmerkungen versehen sind? Wenn Sie das eines Tages sehen, passt XStream besser. (Manchmal läuft es nur auf einfache Anforderungen wie diese, um Ihre Entscheidungen zu steuern).
Simple ist viel langsamer als XStream (in Serialisierungsobjekten zu xml)