Nachdem ich einige vorhandene Bibliotheken nach JSON durchsucht habe, habe ich endlich diese beiden gefunden:
- Jackson
- Google GSon
Ich bin ein bisschen teilweise in Richtung Gson, aber Wort auf dem Netz ist , dass Gson von einer bestimmten Himmel Leistung leidet Ausgabe (Stand : September 2009).
Ich setze meinen Vergleich fort; In der Zwischenzeit suche ich Hilfe, um mich zu entscheiden.
Antworten:
Ich habe diese Recherche in der letzten Woche durchgeführt und am Ende die gleichen 2 Bibliotheken erhalten. Da ich Spring 3 verwende (das Jackson in seiner Standard-Json-Ansicht ' JacksonJsonView ' übernimmt ), war es für mich natürlicher, dasselbe zu tun. Die 2 lib sind ziemlich gleich ... am Ende werden sie einfach einer json-Datei zugeordnet! :) :)
Wie Sie sagten, hat Jackson ein + in der Leistung und das ist sehr wichtig für mich. Das Projekt ist auch ziemlich aktiv, wie Sie auf ihrer Webseite sehen können, und das ist auch ein sehr gutes Zeichen.
quelle
Jackson und Gson sind die vollständigsten Java JSON-Pakete in Bezug auf die tatsächliche Unterstützung der Datenbindung. Viele andere Pakete bieten nur primitive Map / List-Bindungen (oder gleichwertige Baummodelle). Beide bieten vollständige Unterstützung für generische Typen sowie ausreichende Konfigurierbarkeit für viele gängige Anwendungsfälle.
Da ich mit Jackson besser vertraut bin, gibt es einige Aspekte, bei denen Jackson meiner Meinung nach umfassendere Unterstützung bietet als Gson (Entschuldigung, wenn ich eine Gson-Funktion vermisse):
quelle
Gson 1.6 enthält jetzt eine Low-Level-Streaming-API und einen neuen Parser, der tatsächlich schneller als Jackson ist.
quelle
Hinzufügen zu anderen Antworten, die bereits oben gegeben wurden. Wenn für Sie die Groß- und Kleinschreibung von Bedeutung ist, verwenden Sie Jackson. Gson unterstützt keine Groß- und Kleinschreibung für Schlüsselnamen, während Jackson dies tut.
Hier sind zwei verwandte Links
(Nein) Unterstützung der Groß- und Kleinschreibung in Gson: GSON: Wie erhalte ich von Json ein Element, bei dem die Groß- und Kleinschreibung nicht berücksichtigt wird?
Unterstützung für Groß- und Kleinschreibung in Jackson https://gist.github.com/electrum/1260489
quelle
MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES
, hinzugefügt in Jackson 2.5. Sie müssen dafür also keinen benutzerdefinierten Code hinzufügen.Es scheint, dass GSon JAXB nicht unterstützt. Durch die Verwendung der mit JAXB-Annotationen versehenen Klasse zum Erstellen oder Verarbeiten der JSON-Nachricht kann ich dieselbe Klasse zum Erstellen der Restful Web Service-Schnittstelle mithilfe von Spring MVC verwenden.
quelle