Jackson lernt eins: grundlegende Informationen

Willkommen in meinem GitHub

https://github.com/zq2599/blog_demos
Inhalt: Klassifizierungszusammenfassung aller Originalartikel und unterstützenden Quellcodes, einschließlich Java, Docker, Kubernetes, DevOPS usw.;

Zusammenfassung der Serienartikel

Über Jackson

Dieser Artikel ist der erste in der Reihe "Learning by Jackson". Lernen wir Jackson gemeinsam kennen:

  1. Jacksons Github-Adresse: https://github.com/FasterXML/jackson
  2. Laut der offiziellen Website ist Jackson der beste JSON-Parser für Java im Java-Technologie-Stack.
  3. Neben dem JSON-Parsing ist Jackson auch ein Datenverarbeitungs-Toolset: Stream-basierte Parsing- und Generierungsbibliotheken, Datenbindung, Datenformatierungsmodule (Avro, XML, Protobuf, YAML usw.);

Versionsinformation

  1. Es gibt zwei Versionen von Jackson 1.x und 2.x, von denen 1.x veraltet ist und keine Version mehr veröffentlicht wurde. 2.x ist die aktive Version.
  2. 1.x und 2.x sind nicht kompatibel . Wenn Ihr Code bereits 1.x verwendet hat und Sie jetzt zu 2.x wechseln möchten, müssen Sie den Teil des Codes ändern, der Jackson verwendet.
  3. Obwohl nicht kompatibel, stehen 1.x und 2.x nicht in Konflikt. Ihr Projekt kann sich auf beide Versionen in pom.xml verlassen . Angenommen, Ihre ursprünglichen drei Codes rufen die 1.x-API auf, können Sie dies jetzt tun Geändert zu 2.x, und die anderen beiden bleiben unverändert. Diese Funktion eignet sich zum Aktualisieren von Projekten von 1.x auf 2.x (Dies ist beabsichtigt und wurde als Strategie gewählt, um eine reibungslosere Migration von 1.x auf 2 zu ermöglichen .x.);
  4. In der Version der 2.x-Serie wurden einige Versionen geschlossen (neue Nebenversionen werden veröffentlicht, sofern keine Fehler oder Sicherheitsprobleme vorliegen), und einige Versionen sind weiterhin aktiv. Wie in der folgenden Abbildung dargestellt, können Sie den neuesten Status unter folgender Adresse abrufen: https: / /github.com/FasterXML/jackson/wiki/Jackson-Releases
    Fügen Sie hier eine Bildbeschreibung ein

Drei Kernmodule

Jackson hat drei Kernmodule: Die Artefakt-ID von maven steht in Klammern:

  1. Streaming (Jackson-Core): API-Bibliothek auf niedriger Ebene mit Streaming-Analyse-Tool JsonParser, Streaming-Generierungs-Tool JsonGenerator;
  2. Anmerkungen (Jackson-Anmerkungen): Jackson-Anmerkungen;
  3. Datenbindung (Jackson-Datenbank): Basierend auf den Serialisierungs- und Deserialisierungsfunktionen von Java-Objekten benötigt es die Unterstützung der ersten beiden Module, um dies zu erreichen.

Die Rolle von API-Bibliotheken auf niedriger Ebene

  1. Wenn wir Jackson für JSON-Operationen verwenden, wird häufig die ObjectMapper-Klasse des Databind-Moduls verwendet. Sie wird selten direkt für Jackson-Core im Kern verwendet. Welche Funktion hat dieses Modul?
  2. Wie in der folgenden Abbildung gezeigt, ist BeanSerializer eine Funktionsklasse von Jackson-Databind. Die Serialisierungsmethode ist für die Konvertierung von Java-Objekten in JSON verantwortlich. Die Verarbeitungslogik in der Methode besteht darin, die API von JsonGenerator aufzurufen, und JsonGenerator ist die Hauptfunktionsklasse, die für die Serialisierung in Jackson-Core verantwortlich ist:
    Fügen Sie hier eine Bildbeschreibung ein
  3. Es ist ersichtlich, dass die ObjectMapper-Klasse des Databind-Moduls uns die API zur Verfügung stellt und die zugrunde liegende Operation auf Jackson-Core basiert. Bisher
    haben wir ein grundlegendes Verständnis von Jackson. Der nächste Artikel wird eine Reihe von tatsächlichen Kämpfen starten, von tatsächlichen Kämpfen bis hin zu Master und Verstehen Sie diese hervorragenden Werkzeuge.

Willkommen, um meinem öffentlichen Konto zu folgen: Programmierer Xin Chen

Fügen Sie hier eine Bildbeschreibung ein

Ich denke du magst

Origin blog.csdn.net/boling_cavalry/article/details/107135958
Empfohlen
Rangfolge