Was tun, wenn der JSON-Formatierer nicht reagiert? Ursachen und Behebung von Fehlern bei ungültigem JSON
Wenn Sie JSON in einen Formatierer einfügen und nichts passiert oder eine rote Fehlermeldung erscheint, ist in den allermeisten Fällen nicht das Tool defekt, sondern das eingegebene JSON selbst enthält einen Syntaxfehler. Der Formatierer arbeitet in zwei Schritten: zuerst parsen, dann verschönern. Der Parsing-Schritt ist extrem streng – sobald ein einziges Zeichen nicht der Spezifikation entspricht, kann das gesamte Dokument nicht validiert werden, und das Tool gibt natürlich nichts aus. Wenn also nichts passiert, sollten Sie zuerst die JSON-Syntax prüfen und nicht das Tool wechseln.
Warum der Formatierer nicht reagiert
Formatierer und Validierer arbeiten nach demselben Kernprinzip: Text einlesen, gemäß JSON-Spezifikation parsen, nach Bestätigung der Gültigkeit formatieren. Sobald das Parsing fehlschlägt, hat das Tool nichts auszugeben – es reagiert nicht oder meldet direkt einen Fehler.
Die JSON-Syntaxregeln sind deutlich strenger als JavaScript-Objektliterale. Was Sie beim Schreiben von JS gewohnt sind – etwa nachgestellte Kommas, einfache Anführungszeichen, Schlüssel ohne Anführungszeichen – ist in JSON alles ungültig. Aus Chat-Tools, PDFs oder Textverarbeitungsprogrammen kopierter Text kann zudem unsichtbare Sonderzeichen enthalten, die ebenfalls das Parsing scheitern lassen.
Die häufigsten JSON-Syntaxfehler
Wenn Sie die folgenden Problemkategorien erkennen, können Sie die meisten defekten Daten innerhalb einer Minute reparieren.
Nachgestelltes Komma
Ein zusätzliches Komma nach dem letzten Element eines Objekts oder Arrays ist in JavaScript gültig, in JSON jedoch ungültig. Dies ist die häufigste Ursache dafür, dass ein Formatierer nicht reagiert.
{"name": "Ada", "role": "engineer",} schlägt fehl, {"name": "Ada", "role": "engineer"} ist gültig.
Einfache Anführungszeichen statt doppelter
JSON verlangt, dass jeder Schlüssel und jeder String-Wert in doppelte Anführungszeichen gesetzt wird. Einfache Anführungszeichen sind ungültig, auch wenn viele Programmiersprachen sie akzeptieren.
Schlüssel ohne Anführungszeichen
Schlüssel müssen Strings sein. {name: "Ada"} ist ungültig, {"name": "Ada"} ist korrekt.
Kommentare
JSON unterstützt keine //- oder / /-Kommentare. Wenn Sie eine Konfigurationsdatei mit Kommentaren kopiert haben, entfernen Sie die Kommentare zuerst, bevor Sie formatieren.
Unsichtbare Zeichen und typografische Anführungszeichen
Aus Textverarbeitungsprogrammen, Chat-Tools oder PDFs kopierter Text kann typografische Anführungszeichen, geschützte Leerzeichen oder eine Byte Order Mark enthalten. Diese Zeichen sehen auf dem Bildschirm genauso aus wie normale Zeichen, lassen den Parser aber direkt scheitern.
- Typografische Anführungszeichen:
"und"statt" - Geschützte Leerzeichen statt normaler Leerzeichen
- Eine Byte Order Mark am allerersten Anfang der Datei
Wenn die vom Fehler markierte Zeile völlig normal aussieht, sollten Sie unsichtbare Zeichen verdächtigen. Geben Sie die Zeile manuell neu ein und versuchen Sie es erneut.
Schritt-für-Schritt-Methode zur Reparatur ungültigen JSONs
Gehen Sie die folgenden Schritte der Reihe nach durch. Die meisten Daten lassen sich bereits im dritten Schritt reparieren.
- Fügen Sie den vollständigen Text in den Formatierer ein. Kürzen Sie ihn nicht vorher. Die Fehlerposition bezieht sich auf das gesamte Dokument; abgeschnittener Text verschiebt jede Zeilennummer.
- Lesen Sie die Fehlermeldung sorgfältig. Notieren Sie Zeilennummer und Zeichenposition. Wenn das Tool keine Position angibt, wechseln Sie zu einem, das dies tut.
- Untersuchen Sie die fehlerhafte Zeile auf die üblichen Verdächtigen. Achten Sie auf nachgestellte Kommas, einfache Anführungszeichen oder Schlüssel ohne Anführungszeichen.
- Wenn die Zeile in Ordnung aussieht, prüfen Sie die Zeile darüber. Ein fehlendes Komma am Ende der vorherigen Zeile wird oft in der nächsten Zeile gemeldet.
- Geben Sie die markierte Zeile manuell neu ein. Dadurch werden unsichtbare Zeichen entfernt, die beim Kopieren und Einfügen mitgekommen sind.
- Führen Sie die Formatierung erneut aus. Wenn es weiterhin fehlschlägt, wiederholen Sie die Schritte 2 bis 5. Jede Korrektur verschiebt die Fehlerposition nach hinten, bis das Dokument vollständig gültig ist.
Wenn es auch nach diesen Schritten nicht funktioniert, liegt das Problem möglicherweise nicht in der Syntax, sondern in der Dateigröße. Browser-Tools werden in der Regel ab einigen Megabyte langsam, da das gesamte Dokument auf einmal in den Speicher geladen werden muss. Für sehr große Dateien empfiehlt es sich, auf Kommandozeilen-Tools oder Desktop-Software umzusteigen.
Worin unterscheiden sich Formatierer und Validierer
Ein Formatierer schreibt gültiges JSON mit Einrückung und Zeilenumbrüchen neu, damit es lesbar wird. Ein Validierer prüft nur, ob das JSON syntaktisch korrekt ist, und meldet Fehler. Viele Tools erledigen beides auf einmal: zuerst validieren, dann bei Erfolg formatieren.
Diese Reihenfolge ist wichtig. Wenn Sie eine Ja-oder-Nein-Antwort benötigen, etwa in einem Build-Schritt oder bei einem Code-Review, verwenden Sie einen Validierer. Wenn Menschen die Daten lesen sollen, verwenden Sie einen Formatierer.
In der Praxis ändert dieser Unterschied Ihren Arbeitsablauf kaum. Wenn das JSON ungültig ist, liefern beide Tools kein Ergebnis, und Sie müssen ohnehin zuerst die Syntax reparieren. Die wirklich nützliche Frage ist: Sagt Ihnen das Tool, wo das Problem liegt, und nicht nur, dass es eines gibt? Gute Fehlermeldungen enthalten Zeilennummer und Zeichenposition.
JSON im Browser formatieren
Fügen Sie das JSON in das Eingabefeld ein; das Tool parst es und gibt die eingerückte Ausgabe im selben Tab zurück. Die Daten werden nicht auf einen Server hochgeladen, sondern bleiben durchgehend auf Ihrem eigenen Rechner. Anschließend können Sie das Ergebnis kopieren oder als Datei herunterladen.
Wenn Sie JSON im Browser formatieren möchten, ohne etwas zu installieren, lautet die Antwort: Jeder moderne Browser kann das. Das Parsing erfolgt per JavaScript auf Ihrem eigenen Gerät. Das macht Browser-Tools zu einer vernünftigen Wahl für interne Konfigurationen und Beispieldaten.
JSON für die API-Fehlerbehebung formatieren
Rohe API-Antworten direkt zu lesen ist äußerst mühsam. Die meisten Server liefern komprimiertes JSON zurück – eine einzige Zeile ohne jegliche Leerzeichen. Die Formatierung verwandelt diese Zeile in eine Struktur, die Sie überfliegen können.
Wenn Sie JSON für die API-Fehlerbehebung formatieren, achten Sie auf drei Dinge:
- Verschachtelungstiefe. Zu tief verschachtelte Objekte deuten oft darauf hin, dass die Antwortstruktur nicht Ihren Erwartungen entspricht.
- Null-Werte. Felder, die eigentlich Daten enthalten sollten, aber
nullzurückgeben, weisen meist auf ein serverseitiges Problem hin. - Typabweichungen. Zahlen, die als String zurückgegeben werden, etwa
"42"statt42, können die nachgelagerte Vergleichslogik zerstören.
Die formatierte Ansicht macht diese drei Punkte auf einen Blick sichtbar. Verwenden Sie sie zusammen mit dem Netzwerk-Panel des Browsers: Antwortkörper kopieren, in den Formatierer einfügen und die Struktur verstehen, bevor Sie irgendwelchen Code schreiben.
Ein praktischer Tipp: Formatieren Sie die Antwort, bevor Sie sie im Debugger untersuchen. Das schrittweise Debuggen komprimierter Daten ist Zeitverschwendung.
Praktische Tipps zu Formatierung und Validierung
- Validieren Sie JSON, bevor Sie es in ein Versionskontrollsystem einchecken, damit der Build-Schritt nicht wegen eines nachgestellten Kommas fehlschlägt.
- Formatieren Sie beim Lesen oder Überprüfen von Konfigurationen; die Einrückung macht die Hierarchie auf einen Blick erkennbar.
- Denken Sie daran: Formatierung ändert nicht die Bedeutung der Daten. Sie ändert nur Leerraum und Zeilenumbrüche. Wenn nach der Formatierung ein Wert falsch erscheint, liegt das an den Daten selbst, nicht am Tool.
- Wenn Sie nur schnell bestätigen möchten, ob ein JSON-Stück gültig ist, reicht ein Validierer aus; Sie müssen nicht zuerst die vollständige Ausgabe erzeugen.
Häufige Fragen
Warum zeigt mein JSON-Formatierer nichts an?
Weil das Parsing fehlgeschlagen ist und das Tool nichts auszugeben hat. Prüfen Sie auf nachgestellte Kommas, einfache Anführungszeichen, Schlüssel ohne Anführungszeichen und unsichtbare Zeichen, die beim Einfügen von anderswo mitgekommen sind.
Kann ein Formatierer ungültiges JSON reparieren?
Nein. Ein Formatierer formatiert nur gültige Eingaben. Syntaxfehler müssen zuerst von Ihnen oder einem Validierer behoben werden.
Warum sieht die vom Fehler markierte Zeile völlig normal aus?
Wahrscheinlich liegt das Problem in der vorherigen Zeile, etwa ein fehlendes Komma, oder in dieser Zeile verbergen sich unsichtbare Zeichen. Die Zeile manuell neu einzugeben löst das meist.
Wie große Dateien können Browser-Tools verarbeiten?
Es gibt keine einheitliche Obergrenze, aber das gesamte Dokument muss auf einmal in den Speicher geladen werden, daher ruckelt es bei größeren Dateien eher. Bei sehr großen Dateien sind Kommandozeilen- oder Desktop-Tools die sicherere Wahl.
Verändert die Formatierung meine Daten?
Nein. Die Formatierung passt nur Leerraum und Zeilenumbrüche an und ändert keinen Schlüssel und keinen Wert. Sie hilft Ihnen aber auch nicht, Typfehler zu finden, etwa wenn eine Zahl als String geschrieben wurde – das müssen Sie selbst überprüfen.