Kursinhalt
Spring Boot Backend
Spring Boot Backend
Datenformate: JSON und XML
In den vorherigen Kapiteln haben wir untersucht, wie HTTP funktioniert und wie es Daten überträgt. In diesem Kapitel werden wir uns Formate wie JSON und XML ansehen, die verwendet werden können, um Daten im Body einer Serverantwort zu übertragen oder beim Senden einer Anfrage an den Server.
Was ist JSON?
JSON wird für die Übertragung von Daten in einem Schlüssel-Wert-Format verwendet, was den Zugriff auf Daten und deren direkte Umwandlung in ein Objekt sehr praktisch macht.
Dieses Format unterstützt Arrays, Objekte sowie primitive Werte wie Strings, Zahlen und boolesche Werte.
Datenformate in JSON
Für Arrays in JSON können wir die folgende Syntax verwenden:
Wir schließen alle Informationen in geschweifte Klammern ein und geben den Schlüsselnamen (wie "courses") in Anführungszeichen an. Der Wert, der mit diesem Schlüssel verbunden ist, ist in unserem Fall ein Array (["Math", "Science"]
), das in eckigen Klammern eingeschlossen ist, um anzuzeigen, dass es sich um ein Array handelt.
Wenn wir einfache primitive Typen (wie Zahlen, Zeichenfolgen oder boolesche Werte) in JSON übertragen möchten, können wir dies so tun:
Wir können Objekte im JSON-Format übertragen. Ein Objekt wird durch eine Menge von Schlüssel-Wert-Paaren dargestellt, die in geschweifte Klammern eingeschlossen sind.
Jeder Schlüssel ist ein String und wird von einem Doppelpunkt gefolgt, mit dem entsprechenden Wert, der ein weiteres Objekt, ein Array, ein primitiver Typ oder null sein kann.
Übertragung von JSON über HTTP
Beim Übertragen von Daten im JSON-Format über HTTP verwenden sowohl Anfragen als auch Antworten den Content-Type
Header, der auf application/json
gesetzt ist. In einer Anfrage werden die Daten im Body der Anfrage platziert, während in einer Antwort die Daten im Body der Antwort platziert werden.
Anfragestruktur:
Antwortstruktur:
JSON-Serialisierung und Deserialisierung
Serialisierung wandelt ein Objekt oder eine Datenstruktur in ein Format um, das für die Netzwerkübertragung oder Dateispeicherung geeignet ist.
Deserialisierung ist der umgekehrte Prozess, der Daten aus dem JSON-Format zurück in ein Objekt oder eine Datenstruktur umwandelt, um sie im Code zu verwenden.
Abhängigkeit aus dem Video zur Integration von Serialisierung und Deserialisierung von JSON. Dies ist notwendig, damit wir die ObjectMapper
Klasse verwenden können.
Sie müssen diese Abhängigkeit in die pom.xml
Datei einfügen und aktualisieren.
Wie man das Maven-Repository verwendet
Was ist XML?
XML repräsentiert Daten mithilfe von Tags, die eine hierarchische Struktur bilden. Jedes Element hat sowohl öffnende als auch schließende Tags und kann auch Attribute enthalten.
XML-Syntax
Wie Sie sehen können, basiert hier alles auf Tags. Listen und Objekte sind nicht von Natur aus unterschiedlich, aber wenn wir einen einfachen Wert darstellen wollen, dient der Tag-Name als Schlüssel, und der Wert innerhalb der Tags wird der Wert sein.
XML-Übertragung über HTTP:
Zum Übertragen von XML-Daten kann der Content-Type
Header entweder auf application/xml
oder text/xml
gesetzt werden. Die Daten werden auch im Body der Anfrage oder Antwort platziert.
Beispiel einer Anfrage:
Beispiel einer Antwort:
XML-Serialisierung und -Deserialisierung
Abhängigkeit aus dem Video zur Integration der Serialisierung und Deserialisierung von XML. Dies ist notwendig, damit wir die XmlMapper
Klasse verwenden können.
Sie müssen diese Abhängigkeit in die pom.xml
Datei einfügen und aktualisieren.
Zusammenfassung
JSON ist die bevorzugte Wahl für moderne Webanwendungen aufgrund seiner Leichtigkeit und Einfachheit. Während XML in vielen Web-Szenarien weniger praktisch sein kann, ist es nützlich in Fällen, die eine komplexe Datenstruktur und strikte Schemata erfordern.
1. Welches Format wird verwendet, um Daten als key-value
-Paare darzustellen und ist leichter und praktischer für die Netzwerkübertragung?
2. Welcher der folgenden Code-Snippets ist ein gültiges JSON
?
Danke für Ihr Feedback!