Die Geschichte hinter dem JSON-Formatierer
JSON ist heute das Format, das die meisten Web-APIs sprechen, und doch wurde es nie von einem Gremium entworfen. Es wurde eher bemerkt als erfunden: eine kleine Teilmenge von JavaScript, die gerade ausreichte, um Daten zwischen Programmen auszutauschen.
Ein entdecktes Format
Um 2001 suchten Douglas Crockford und seine Kollegen bei State Software einen Weg, wie Browser und Server ohne Plugins Daten austauschen konnten. Sie nutzten die Objekt- und Array-Literale, die JavaScript bereits verstand, gaben der Idee einen Namen und stellten die Grammatik auf json.org, bekanntlich kurz genug für die Rückseite einer Visitenkarte.
Warum es keine Kommentare gibt
Schon früh entfernte Crockford Kommentare aus JSON, weil Leute begannen, Anweisungen für den Parser darin zu verstecken, was die Austauschbarkeit zerstört hätte. Sein Rat war, Kommentare vor dem Parsen mit einem Minifizierer zu entfernen. Deshalb meldet ein Formatierer einen Kommentar als unerwartetes Zeichen, und deshalb gibt es für Konfigurationsdateien Formate wie JSON5 und JSONC.
Von einer Webseite zum Standard
JSON wurde 2006 erstmals als RFC 4627 beschrieben. Ecma veröffentlichte 2013 ECMA-404, und die IETF ersetzte die älteren Texte 2017 durch RFC 8259, das für zwischen Systemen ausgetauschtes JSON UTF-8 vorschreibt. Die Grammatik hat sich seit json.org kaum verändert: Objekte, Arrays, Strings, Zahlen, true, false und null.
Zahlen und Pfade
JSON selbst begrenzt Zahlen nicht, doch die meisten Parser speichern sie als 64-Bit-Gleitkommawerte, sodass ganze Zahlen über 9007199254740991 unbemerkt an Genauigkeit verlieren können. Große IDs werden deshalb oft als Strings gesendet. Um auf einen Wert zu zeigen, schlug Stefan Goessner 2007 JSONPath nach dem Vorbild von XPath vor, 2024 wurde daraus der Standard RFC 9535. Die Pfade, die dieser Formatierer kopiert, folgen dieser Schreibweise mit Dollarzeichen und Klammern.
Häufig gestellte Fragen
Wer hat JSON erfunden?
Douglas Crockford hat JSON Anfang der 2000er Jahre spezifiziert und bekannt gemacht. Er sagt selbst, er habe es entdeckt, weil es eine bereits vorhandene Teilmenge von JavaScript ist.
Warum erlaubt JSON keine abschließenden Kommas oder einfachen Anführungszeichen?
Die Grammatik wurde so klein wie möglich gehalten, damit jede Sprache sie gleich parsen kann. Jede zusätzliche Bequemlichkeit wäre eine weitere Gelegenheit, bei der zwei Parser uneins sind.
Ist JSON dasselbe wie ein JavaScript-Objekt?
Nein. JSON ist Text. Schlüssel brauchen doppelte Anführungszeichen, und Funktionen, undefined, Kommentare, NaN und Infinity sind nicht erlaubt, obwohl JavaScript sie im Code akzeptiert.
Bereit, es auszuprobieren?
Öffnen Sie PictorX in Ihrem Browser – keine Installation, zum Starten ist keine Kreditkarte erforderlich.
JSON-Formatierer öffnen