Titel | JavaScript Object Notation |
Kategorie | Strukturierte Daten |
Abkürzung | JSON |
Dateiendung | .json |
Mime Type | application/json (Legacy: text/json, text/javascript) |
Pronom PUID | x-fmt/817 |
Version | JSON wird im ECMA-404 spezifiziert. 1Eine IETF RFC-Spezifikation des Dateiformates JSON existiert und wird in der Regel referenziert: RCF8259 [2]. Für GeoJSON: RFC 7946 [3] |
JSON ist ein reines Textformat. Durch seine starke Verankerung bei Webanwendungen ist JSON weit verbreitet. JSON wurde geschaffen, um strukturierte Daten möglichst schnell im Web (Server-Client) übertragen und verarbeiten zu können. Untertypen von JSON sind u.a. GeoJSON und TopoJSON zum Austausch geografischer Daten (z.B. Koordinatenpunkte). Ein ausführlicher Beschrieb des Formates findet sich in [4] [5]
Offenheit: 4 Lizenzfreiheit: 4 Verbreitung: 4 Funktionalitaet: 2 Desweiteren verschwindet die Unterscheidung zwischen Attributen und Elementen, wenn XML zu JSON konvertiert wird. Das Layout von XML und CSV geht bei der Migration ebenfalls verloren. Für die Funktionalität dieser Formate spielen jedoch die Unterschiede im Layout eine untergeordnete Rolle. JSON kann in XML und beschränkt in CSV konvertiert werden. Im Falle verschachtelter ("nested") JSON sind jedoch mehrere CSV notwendig, um den Inhalt abzubilden. Implementierung: 4 Speicherdichte: 4 Verifizierbarkeit: 3 Best Practice: 2 Perspektive: 3 Formatklasse: B |
Vergleich JSON und XML [5]
Für die Speicherung grosser Datenmengen wird XML gegenüber JSON bevorzugt. XML bietet die Möglichkeit Daten und Metadaten strukturell in Form von Elementen und Attributen zu trennen. In XML ist es auch zulässig, Inhalte zu kommentieren. Bei JSON ist nicht von vornherein klar, welche Elemente den Wert darstellen und welche die Metadaten.
Tabelle 1: Beschreibung von Daten in XML (mit Attributen und Kommentaren) und JSON.
Durch Arrays können in JSON-Dateien primitive Datentypen effizienter verpackt werden als bei XML. Aufgrund des Ursprungs des Formates in Javascript können JSON-Daten von Webanwendungen und den meisten Programmiersprachen zudem schneller verarbeitet werden.
Tabelle 2: Umsetzung eines Arrays in XML (mittels Attributen) und JSON
Nachfolgend sind die gewichtigsten Unterschiede zwischen JSON und XML aufgelistet:
JSON | XML |
Nur Unicode | Verschiedene Encodings (z.B. ISO-8859-1) |
Unterstützt Attribute und Kommentare | |
Primitive Datentypen: Numerische Typen, character, boolean, null | Auch komplexe Datentypen wie z.B. Datum |
Daten als Map und in Arrays | Daten als Baum |
Tabelle 3: Vergleich von JSON mit XML
In JSON können indirekt auch Binärdateien (Bild, Audio, Video u.a.) gespeichert und transferiert werden. Die Binärdaten müssen dazu z.B. in Base64 enkodiert werden und als Unicode-Characterstring im JSON-File festgehalten werden. Die Enkodierung (z.B. Base64) muss ebenfalls im JSON festgehalten werden, um aus den Daten später wieder Binärdateien erstellen zu können. Da es bessere Methoden gibt, Binärdateien zu übertragen ist der Weg über JSON nicht empfehlenswert.
JSON wurde als Format für einen effizienten Datenaustausch im Internet entwickelt. JSON ist archivisch im Vergleich zu XML eingeschränkt, da Datenelementen keine Attribute zugeordnet werden können. Des weiteren lässt JSON keine Kommentare zu. Komplexe Datentypen werden von JSON nicht unterstützt. XML oder Datenbanken in JSON zu konvertieren oder exportieren ist daher nicht sinnvoll. Ein JSON kann jedoch ohne Konvertierung archiviert werden, da dieses als Nur-Text/Plain-Text langfristig lesbar bleibt.
Standard ECMA-404: The JSON Data Interchange Syntax, 2nd edition, December 2017 (ecma-international.org)
https://www.ecma-international.org/wp-content/uploads/ECMA-404_2nd_edition_december_2017.pdf
RCF 8259 - The JavaScript Object Notation (JSON) Data Interchange Format (ietf.org)
https://datatracker.ietf.org/doc/html/rfc8259
[1] ECMA International, „The JSON Data Interchange Syntax,“ Genf.
[2] Internet Engineering Task Force (IETF) , „The JavaScript Object Notation (JSON) Data Interchange Format,“
[3] Internet Engineering Task Force (IETF) , „The GeoJSON Format,“ Online, 2016.
[4] Library of Congress, „JSON (JavaScript Object Notation),“
[5] Wikipedia, „JSON,“ Wikipedia, 17 9 2023 https://en.wikipedia.org/wiki/JSON
Katalog archivischer Dateiformate | Version 7.0, Juni 2024 |