Formatieren, Minifizieren und Validieren
Beim Formatieren wird das JSON eingerückt, damit ein Mensch seine Struktur lesen kann; beim Minifizieren wird jedes optionale Leerzeichen entfernt, um die Übertragungsgröße zu senken. Es ändert sich nur die Darstellung – die Daten sind in beiden Fällen identisch, der Wechsel zwischen beiden verändert also nie einen Wert.
Die Validierung versucht, das JSON zu parsen, und meldet, ob das gelungen ist. Bei einem Fehler meldet sie außerdem, wo der Parser angehalten hat – das ist nicht die Stelle, an der der Fehler beginnt, sondern die, an der es nicht mehr weiterging. Die eigentliche Ursache liegt meist etwas weiter vorn im Text.
Die Einrückungstiefe ist Geschmackssache und Teamkonvention. Zwei Leerzeichen sparen bei tief verschachtelten Daten horizontalen Platz, vier machen die Struktur leichter überschaubar, und null lässt nur Zeilenumbrüche übrig, was sich eignet, wenn man einen Eintrag nach dem anderen lesen will.
Warum sich JSON meist nicht parsen lässt
Ein nachgestelltes Komma nach dem letzten Eintrag ist die häufigste Ursache. JavaScript-Objektliterale erlauben es, der JSON-Standard nicht, und nach dem Löschen eines Eintrags bleibt es leicht stehen. Prüfen Sie zuerst die Stelle unmittelbar vor jeder schließenden Klammer.
Einfache Anführungszeichen sind kein gültiges JSON. Schlüssel und Zeichenkettenwerte brauchen doppelte Anführungszeichen, und die JavaScript-Gewohnheit, Schlüssel ohne Anführungszeichen zu schreiben, lässt sich nicht übertragen. Das rächt sich am häufigsten, wenn ein Schnipsel direkt aus dem Quellcode kopiert wird.
Auch Kommentare gehören nicht zum Standard. Die in Konfigurationsdateien üblichen Kommentare mit doppeltem Schrägstrich sind nur in Erweiterungen wie JSON5 oder JSONC erlaubt, für einen Standard-Parser müssen sie also entfernt werden. Auch für NaN, Infinity und undefined gibt es keine Darstellung.