Konvertieren Sie JSON in XML Java mit Gson und JAXB mit Beispiel
Was ist JSON?
JSON ist eine Abkürzung für Javascript Object Notation, eine Form von Daten, die einer bestimmten Regel folgt, die derzeit von den meisten Programmiersprachen lesbar ist. Wir können es einfach in einer Datei speichern oder in der Datenbank aufzeichnen. Das JSON-Format verwendet Schlüssel-Wert-Paare, um Daten zu beschreiben.
Im Anschluss an das Beispiel definieren wir eine JSON-Zeichenfolge, die persönliche Informationen speichert:
Die Syntax von JSON ist also sehr einfach. Jede Dateninformation besteht aus zwei Teilen:Schlüssel und Wert, die dem Feldnamen und seinem Wert in einem bestimmten Datensatz entsprechen. Aber wenn Sie weiter suchen, gibt es ein paar Dinge wie diese:
Der JSON-String wird von geschweiften Klammern {}.
eingeschlossen
Die Schlüssel und Werte von JSON müssen in Anführungszeichen {“}.
eingeschlossen werden
Wenn es mehr Daten gibt (mehr Schlüssel => Wertpaare), verwenden wir Kommas (,) zur Trennung.
JSON-Schlüssel sollten vorzeichenlose Buchstaben oder Zahlen, _, und keine Leerzeichen sein, das erste Zeichen sollte nicht auf Zahlen gesetzt werden.
In diesem Tutorial lernen Sie-
Was ist JSON?
Was ist XML?
Was ist Gson?
Was ist JAXB?
Wie konvertiere ich XML in JSON?
XML-Nachricht mit JAXB in Java-Objekte konvertieren
Java-Objekte mit Gson in JSON-Nachrichten konvertieren
JSON-Nachricht mit Gson in Java-Objekte konvertieren
Java-Objekte mit JAXB in XML-Nachrichten konvertieren
Was ist XML?
XML steht für eXtensible Markup Language, auch als erweiterbare Auszeichnungssprache bezeichnet, die vom World Wide Web Consortium (https://www.w3.org/) vorgeschlagen wurde, um andere Auszeichnungssprachen zu erstellen. Dies ist eine einfache Teilmenge, die viele verschiedene Datentypen beschreiben kann, daher ist sie sehr nützlich, um Daten zwischen Systemen auszutauschen.
Tags in XML sind oft nicht vordefiniert, sondern werden nach Benutzerkonventionen erstellt. XML führt neue Funktionen ein, die auf den Vorteilen von HTML basieren.
Es gibt einige weitere nützliche Funktionen zur XML-Erstellung in verschiedenen Systemen und Lösungen:
XML ist erweiterbar:Mit XML können Sie Ihre eigenen benutzerdefinierten Tags erstellen, die zu Ihrer Anwendung passen.
XML transportiert Daten, zeigt sie nicht an:XML ermöglicht es Ihnen, Daten zu speichern, unabhängig davon, wie sie angezeigt werden.
XML ist ein allgemeiner Standard:XML wurde vom World Wide Web Consortium (W3C) entwickelt und ist als offener Standard verfügbar.
XML basiert auf einer verschachtelten Knotenstruktur. Jeder Knoten hat ein öffnendes Tag und ein schließendes Tag wie folgt:
<node>content</node>
Wobei:
ein offenes Tag ist, wird der Name dieses Tags von Ihnen bestimmt.
ein geschlossenes Tag ist, muss der Name dieses Tags mit dem Namen des offenen Tags übereinstimmen.
Inhalt ist der Inhalt dieses Tags.
Am Anfang jeder XML-Datei müssen Sie ein Tag deklarieren, um anzugeben, welche XML-Version verwendet wird. Die Syntax des Anweisungs-Tags:
Gson (https://github.com/google/gson) ist eine Java-Bibliothek, mit der Benutzer von einem Java-Objekt in eine JSON-Zeichenfolge und auch von einer JSON-Zeichenfolge in ein Java-Objekt konvertieren können. Gson kann mit beliebigen Java-Objekten arbeiten, einschließlich vorhandener Objekte, ohne dass Sie deren Quellcode haben.
Seit Version 1.6 führt Gson zwei neue Klassen ein – JsonReader und JsonWriter um Streaming-Verarbeitung für JSON-Daten bereitzustellen.
JsonWriter – Streaming in JSON schreiben. Die Syntax für die allgemeine Implementierung lautet wie folgt. Wir erstellen einen JsonWriter Objekt. Um die Erstellung eines JSON-Strings zu beginnen und abzuschließen, verwenden wir die Funktion beginObject() und endObject(). In der Mitte der Ausführung dieser beiden Funktionen schreiben wir Daten mit Paaren (Schlüssel => Wert).
JsonWriter writer = new JsonWriter();
writer.beginObject();
writer.name("key").value("value");
writer.endObject();
JsonReader – Streaming aus JSON gelesen. Die Syntax für die allgemeine Implementierung lautet wie folgt. Wir erstellen ein JsonReader-Objekt. Um die Erstellung eines JSON-Strings zu beginnen und abzuschließen, verwenden wir die Funktionen beginObject() und endObject(). In der Mitte der Ausführung dieser beiden Funktionen führen wir das Lesen von Daten mit Paaren durch (Schlüssel => Wert).
JsonReader reader = new JsonReader();
reader.beginObject();
while (reader.hasNext()) {
String name = reader.nextName();
if (name.equals("key")) {
String value = reader.nextString();
}
}
reader.endObject();
Die Gson-Streaming-Verarbeitung ist schnell. Sie müssen jedoch jedes Paar (Schlüssel => Wert) der Verarbeitung von JSON-Daten behandeln.
Was ist JAXB?
JAXB steht für Java Architecture for XML Binding, eine Bibliothek, die Annotationen verwendet, um Java-Objekte in XML-Inhalte umzuwandeln und umgekehrt. Da JAXB über eine Spezifikation definiert ist, können wir verschiedene Implementierungen für diesen Standard verwenden.
Bei JAXB verwenden wir häufig die folgenden grundlegenden Anmerkungen, nämlich:
@XmlRootElement :Diese Anmerkung gibt an, was das äußerste Tag der XML-Datei ist, und wird daher über einer Klasse deklariert.
@XmlElementWrapper :Diese Anmerkung erstellt ein Wrapper-XML-Element um Sammlungen.
@XmlElement :Diese Anmerkung, die verwendet wird, um ein Attribut des Objekts zu deklarieren, ist ein Tag der XML-Datei.
@XmlAttribute :Diese Anmerkung, die auch verwendet wird, um ein Attribut des Objekts zu deklarieren, ist ein Tag der XML-Datei.
Die Syntax für die allgemeine Implementierung lautet wie folgt. Zuerst initialisieren wir den JAXBContext Objekt mit dem MyObject zu konvertierendes Objekt.