Was ist JSON?

JavaScript Object Notation (JSON) mit Beispielen und Verwendung Ist JSON [ˈdʒeɪsən] ein bekannter Informatiker, der ein kompaktes Datenformat entwickelt hat, das gut lesbar ist und einen einfachen und schnellen Datenaustausch zwischen Anwendungen ermöglicht?Halt! Das ist natürlich nur die halbe Wahrheit. JSON ist natürlich keine Person, sondern eine Notation. Eine Notation, die mittlerweile weit verbreitet und stetig erweitert worden ist. JavaScript Object Notation schimpft sich diese Notation in vollem Umfang. Oder JavaScript Object Notation Remote Procedure Call ein darauf aufbauendes Protokoll.Da klingt die Abkürzung JSON oder JSON-RPC schon wesentlich umgänglicher.JSON Objekte werden für den Datenaustausch zwischen Anwendungen, für gewöhnlich zwischen einem Server und einem Clienten benutzt. Oft werden JSON und XML in einem Atemzug genannt. Das liegt daran, dass sie prinzipiell beide Lösungen für den Datenaustausch bieten. Trotzdem gibt es grundlegende Unterschiede zwischen JSON und XML aber das werden wir gleich sehen. Wieso weshalb warum, wer nicht fragt bleibt dumm Wieso sollte man JSON nutzen? Die Vorteile lassen sich schnell auf den Punkt bringen:JSON ist verbreitet: JSON ist verbreitet Wenn auch in der JavaScript-Welt entstanden, gibt es heute in nahezu jeder verbreiteten Programmiersprache einen Parser für JSON Objekte. Standardisierte Struktur Ein JSON-Objekt hat eine feste Struktur, wie Daten repräsentiert werden. Dadurch ist es für Entwickler einfach, JSON Requests zu erstellen und auszuwerten das Datenformat ist immer gleich und erwartbar. Hinzu kommt, dass JSON auch für Menschen leicht lesbar ist. Wenig Overhead Ein JSON-Objekt kommt ohne umfangreiche Beschreibung und Strukturdaten aus, es ist immer nach dem Key-Value-Prinzip aufgebaut. Ein JSON-Beispiel Wie sieht JSON aus? Stellen wir uns vor, wir haben 6 IT-Talente in unserer Datenbank, die ein Stipendium bekommen haben. In der JSON-Syntax wird die Liste dieser IT-Talente wie folgt repräsentiert: "IT-Talente": {"name":"Thomas", "alter":"25", "Stipendium":"2016/2017"}, {"name":"Katharina", "alter":"18", "Stipendium":"2016/2017"}, {"name":"Michael", "alter":"26", "Stipendium":"2016/2017"}, {"name":"Andrei", "alter":"35", "Stipendium":"2016/2017"}, {"name":"Bastian", "alter":"14", "Stipendium":"2016/2017"}, {"name":"Dirk", "alter":"22", "Stipendium":"2016/2017"} ] Wie Du siehst, werden die IT-Talente durch (beliebig viele!) Key/Value Paare innerhalb geschweifter Klammern definiert. Die IT-Talente wiederum sind in Arrayform organisiert.Man bezeichnet jedes einzelne IT-Talent als JSON-Objekt und das Array IT-Talente als Array von JSON-Objekten. Es ist nun ein leichtes, dieses Array von JSON-Objekten zu realisieren: var it-talente = {"name":"Bastian", "alter":"25", "Stipendium":"2016/2017"}, {"name":"Katharina", "alter":"18", "Stipendium":"2016/2017"}, {"name":"Michael", "alter":"26", "Stipendium":"2016/2017"}, {"name":"Thomas", "alter":"35", "Stipendium":"2016/2017"}, {"name":"Andrei", "alter":"14", "Stipendium":"2016/2017"}, {"name":"Dirk", "alter":"22", "Stipendium":"2016/2017"} ]; Natürlich ist auch die einfache Erstellung eines JSON-Objekts möglich: var basti = {"name":"Basti", "alter":"25", "Stipendium":"2016/2017"}; Aber wie kommen wir nun an die Daten, die in einem JSON-Objekt oder einem Array von JSON-Objekten gespeichert sind?Nichts einfacher als das, man greift einfach wie üblich auf die entsprechenden Datentypen zu.Zum Beispiel:JSON-Objekt: document.writeln(basti.name); Array von JSON Objekten: document.writeln(it-talente1].name); Verwendung von JSON am Beispiel JavaScript JSON-Objekte in JavaScript JSON hat seinen Ursprung in JavaScript, nach und nach sind aber für nahezu jede gängige Programmiersprache Parser entstanden.Das JSON-Datenformat kann mit Hilfe der eval()-Funktion in JavaScript ausgewertet werden. Hierbei ist jedoch Vorsicht geboten, da über JSON-Objekte prinzipiell auch Schadcode übertragen und durch die eval()-Funktion ausgeführt werden könnte.JavaScript bietet aber einen zusätzlichen JSON-Parses, der diese Gefahren nicht birgt.Ein Beispiel, wie wir unser Oben erstelltes JSON-Objekt in ein JavaScript-Objekt umwandeln: var JavaScriptObjekt = JSON.parse(basti); JavaScript-Objekte in JSON Natürlich können wir auch andersherum JavaScript-Objekte, z.B. für die Datenübertragung in JSON-Objekte umwandeln: var JSONObjekt = JSON.stringify(JavaScriptObjekt); JSON vs. XML Auf den ersten Blick stehen JSON und XML in Konkurrenz zueinander, es gibt aber durchaus Unterschiede, die die beiden Formate voneinander abgrenzen und so je nach Situation JSON oder XML sinnvoller für die Verwendung machen.XML (Extensible Markup Language) ist eine Markup Language mit deklarativem Charakter, JSON hingegen ist nur eine Syntax, wie Objekte, die bereits deklariert sind, dargestellt werden.JSON eignet sich daher besonders, wenn Werte in fest definierten Strukturen übertragen werden sollen. Zum Beispiel immer neue IT-Talente, die zwar einen anderen Namen und ein anderes Alter haben, aber immer aus den Daten Name, Alter und Stipendium bestehen.XML spielt dagegen eine größere Roller, wenn flexible Objekte übertragen werden sollen, die sich in der Struktur unterscheiden (Beispielsweise, wenn ein IT-Talent beliebig viele unterschiedliche Strukturen und Werte haben kann). Der Beitrag Was ist JSON? erschien zuerst auf IT-Talents.de.

zum Artikel gehen

Fachveröffentlichung: Kolumne: .NETversum: JSON-Polymorphismus mit System.Text.Jso

Seit der Version 7.0 des JSON-Serializers System.Text.Json kann man mit per Annotation [JsonDerivedType] Typ-Diskriminatoren fr das Serialisieren und Deserialisieren festlegen.

zum Artikel gehen

Was ist JSON-RPC

Nachdem wir uns nun mit der Struktur von JSON-Objekten auskennen, wollen wir den nächsten Schritt gehen und JSON für die Kommunikation zwischen einem Server und einem Client nutzen.Neben simplen JSON-Requests gibt es ein Protokoll, das uns über JSON den A

zum Artikel gehen

Schulung: Moderne Webservices/Anwendungskopplung/Verteilte Systeme mit WebAPIs (HTTP-APIs/REST/Microservices)

Klrung der Begriffe - Web-API - HTTP-API - Representational State Transfer (REST) - Microservices - optional: Vergleich mit SOA/SOAP Standardisierung - Was ist Standard bei REST? - Andere Protokolle Einsatzgebiete von WebAPIs - Verteilte Sys

zum Artikel gehen

Die theme.json Datei erklärt

Im ersten Teil meiner Block-Themes Serie habe ich eine erste Einführung ins Thema Block-Themes gegeben. Heute will ich näher auf in die theme.json Datei eingehen, die es seit WordPress 5.8 gibt. Diese scheinbar unscheinbare Datei verändert die Art und Wei

zum Artikel gehen

Veranstaltung: Entity Framework Core für PostgreSQL

PostgreSQL existiert als Open-Source-Datenbanksystem seit ber 30 Jahren und ist bekannt fr seine Stabilitt und Performance. Fr .NET Core existiert ein robuster Treiber fr Entity Framework Core, der der Datenbank in Stabilitt und Performance in nichts nach

zum Artikel gehen