{"id":712,"date":"2025-04-25T05:20:55","date_gmt":"2025-04-25T03:20:55","guid":{"rendered":"https:\/\/www.vautron.de\/blog\/?p=712"},"modified":"2025-04-25T05:20:55","modified_gmt":"2025-04-25T03:20:55","slug":"was-verbirgt-sich-hinter-dem-datenformat-json","status":"publish","type":"post","link":"https:\/\/www.vautron.de\/blog\/was-verbirgt-sich-hinter-dem-datenformat-json","title":{"rendered":"Was verbirgt sich hinter dem Datenformat JSON?"},"content":{"rendered":"\n<p><strong>Die JavaScript Object Notation (JSON) dient dem Zweck, Informationen unabh\u00e4ngig von der Anwendung, Programmiersprache oder einem Betriebssystem speichern und austauschen zu k\u00f6nnen. Somit handelt es sich um ein universelles Datenformat, das grundlegende Eigenschaften wie Kodierung, Syntax und Struktur vorgibt, ohne Einfluss auf den Aufgabenbereich oder die Interpretation auszu\u00fcben. Es erlaubt eine komplexe Verschachtelung beziehungsweise Referenzierung anderer JSON-Dateien und kennt verschiedene Typen von Variablen, bietet in seinem offiziellen Standard aber keine M\u00f6glichkeit beispielsweise zum Vergleich von Werten und Ausdr\u00fccken oder f\u00fcr die Kommentierung von Inhalten an.<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Was sind die Besonderheiten von JSON?<\/h3>\n\n\n\n<p>Urspr\u00fcnglich schuf der US-amerikanische Programmierer und Spieleentwickler Douglas Crockford <strong>JSON als Erweiterung<\/strong> zu der Programmiersprache JavaScript, um Informationen unabh\u00e4ngig von einer <a href=\"https:\/\/www.vautron.de\/blog\/was-sind-datenbanksysteme\">externen Datenbank<\/a> oder programminternen Schnittstelle zwischen verschiedenen Anwendungen austauschen zu k\u00f6nnen. Im Vergleich zu anderen Formaten ist es auf <strong>Effizienz und Flexibilit\u00e4t<\/strong> optimiert, weshalb es von diversen anderen Projekten als Standard direkt \u00fcbernommen oder adaptiert wurde. Programme zur Interpretation und Ausgabe von JSON (Parser) existieren in allen popul\u00e4ren Programmiersprachen und entsprechende Routinen lassen sich unkompliziert \u00fcber offizielle Bibliotheken einbinden. Auffallend sind <strong>kleine Einschr\u00e4nkungen<\/strong>, zu denen etwa der Verzicht auf eine Kommentarfunktion, Sonderzahlen wie die Unendlich oder spezifizierte Variablen &#8211; zum Beispiel ein Format f\u00fcr Datums- und Zeitangaben &#8211; z\u00e4hlen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Welche Vorteile besitzt JSON f\u00fcr Programmierer?<\/h3>\n\n\n\n<p>Die erste Definition als Standard erfolgte 1997 und diente zun\u00e4chst nur als ein <strong>allgemeines Datenformat<\/strong> f\u00fcr Anwendungen in <a href=\"https:\/\/www.vautron.de\/blog\/javascript-welche-bedeutung-spielt-es-heute-im-internet\">JavaScript<\/a>. Rund um die Jahrtausendwende gewann die Programmiersprache zunehmend an Bedeutung, um interaktive und multimediale Elemente im fr\u00fchen Internet zu gestalten. Diese Entwicklung in Verbindung mit seiner <strong>effizienten Struktur<\/strong> f\u00fchrte zu einer h\u00e4ufigen Verwendung von JSON f\u00fcr die Kommunikation zwischen <a href=\"https:\/\/www.vautron.de\/blog\/was-ist-das-client-server-modell\">Client und Server<\/a>. Seine hohe Popularit\u00e4t resultiert nicht zuletzt aus dieser Verbreitung, l\u00e4sst sich jedoch ebenfalls mit einigen technischen Eigenschaften erkl\u00e4ren:<\/p>\n\n\n\n<ul>\n<li>Vollst\u00e4ndig von der Umgebung unabh\u00e4ngiges Datenformat<\/li>\n\n\n\n<li>F\u00fcr einfache wie komplex verzweigte Strukturen geeignet<\/li>\n\n\n\n<li>Breite Unterst\u00fctzung durch verschiedene Programmiersprachen<\/li>\n\n\n\n<li>Einfacher Import\/Export in andere Datenbanken<\/li>\n\n\n\n<li>Minimale Dateigr\u00f6\u00dfe durch auf Effizienz optimierte Struktur<\/li>\n\n\n\n<li>Simpler, eindeutig standardisierter Austausch von Daten ohne zus\u00e4tzliche Software m\u00f6glich<\/li>\n\n\n\n<li>Ideale, universell verwendbare L\u00f6sung f\u00fcr ressourcenarme Umgebungen wie Embedded PC<\/li>\n\n\n\n<li>[Flexible Erweiterung etwa durch Padding ((JSONP) oder JSON Web Token (JWT)<\/li>\n<\/ul>\n\n\n\n<p>Vorhandene Einschr\u00e4nkungen fallen im Vergleich zu den Vorteilen des Standards lediglich gering aus und lassen sich in der Regel durch die Programmierung umgehen. Einige Bibliotheken verwenden zudem <strong>eigene, nicht standardm\u00e4\u00dfige Erg\u00e4nzungen<\/strong>, um zum Beispiel eine Kommentierung innerhalb einer Datei zu erm\u00f6glichen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Wie wird JSON bei Software und Webapplikationen eingesetzt?<\/h3>\n\n\n\n<p>Das Datenformat speichert alle Informationen in einer Datei, so dass unterschiedliche Quellen <strong>unabh\u00e4ngig von anderen Programmen<\/strong> auf sie zugreifen und sie ver\u00e4ndern k\u00f6nnen. Als Steuerzeichen dienen prim\u00e4r (geschweifte) Klammern, der Doppelpunkt und das Komma. Sie gliedern einen UTF-Klartext in Objekte, Namen (Schl\u00fcssel) und zugeordnete Werte. Ein einfaches Beispiel f\u00fcr einen Datensatz in JSON mit <strong>mehreren Typen von Variablen<\/strong> w\u00e4re:<\/p>\n\n\n\n<p>{<br>&#8222;Nachname&#8220; : &#8222;Mustermann&#8220;,<br>&#8222;Vorname&#8220; : &#8222;Mathilde&#8220;,<br>&#8222;VIP-Kunde&#8220; : true,<br>&#8222;Rechnungsnummern&#8220; : [&#8222;0815&#8220;, &#8222;0916&#8220;, &#8222;1017&#8220; ]<br>}<\/p>\n\n\n\n<p>Die Datei kann wahlweise lokal gespeichert vorliegen oder \u00fcber ein Netzwerk von einem Server \u00fcbermittelt werden. Im Vergleich zu Alternativen wie zum Beispiel der <strong>Extensible Markup Language (XML)<\/strong> besitzt JSON eine \u00fcbersichtlichere, leichter lesbare Struktur und verwendet bei gleichem Informationsgehalt weniger Zeichen.<\/p>\n\n\n\n<p>Entsprechend dem individuellen Bedarf kann ein Anwender das Datenformat um verschiedene Funktionen erweitern. So steht beispielsweise mit JSON Schema eine M\u00f6glichkeit f\u00fcr die \u00dcberpr\u00fcfung von Datens\u00e4tzen auf <strong>Vollst\u00e4ndigkeit und G\u00fcltigkeit<\/strong> zur Verf\u00fcgung. Mit dem sogenannten Padding (JSONP) ist eine domain\u00fcbergreifende Abfrage aus unterschiedlichen Quellen m\u00f6glich. Das JSON Web Token (JWT) wiederum dient dazu, Sicherheitsfunktionen wie die Authentifizierung von Clients oder die Verschl\u00fcsselung von Verbindungen zu \u00fcbernehmen, <strong>ohne weitere Hilfsmittel<\/strong> wie externe Datenbanken oder dauerhaft gespeicherte Cookies zu ben\u00f6tigen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die JavaScript Object Notation (JSON) dient dem Zweck, Informationen unabh\u00e4ngig von der Anwendung, Programmiersprache oder einem Betriebssystem speichern und austauschen zu k\u00f6nnen. Somit handelt es sich um ein universelles Datenformat, &#8230;<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[8,29],"_links":{"self":[{"href":"https:\/\/www.vautron.de\/blog\/wp-json\/wp\/v2\/posts\/712"}],"collection":[{"href":"https:\/\/www.vautron.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.vautron.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.vautron.de\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vautron.de\/blog\/wp-json\/wp\/v2\/comments?post=712"}],"version-history":[{"count":1,"href":"https:\/\/www.vautron.de\/blog\/wp-json\/wp\/v2\/posts\/712\/revisions"}],"predecessor-version":[{"id":713,"href":"https:\/\/www.vautron.de\/blog\/wp-json\/wp\/v2\/posts\/712\/revisions\/713"}],"wp:attachment":[{"href":"https:\/\/www.vautron.de\/blog\/wp-json\/wp\/v2\/media?parent=712"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vautron.de\/blog\/wp-json\/wp\/v2\/categories?post=712"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vautron.de\/blog\/wp-json\/wp\/v2\/tags?post=712"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}