So beheben Sie ungültiges JSON: Die 7 Fehler, die jeden Parser kaputt machen

20. Juni 2026 · 8 Min. Lesezeit
Tool ausprobierenJSON-Formatierer →

Das Parsen von JSON klingt trivial, bis fünf Minuten vor der Bereitstellung ein einzelner verirrter Charakter Ihren Build unterbricht. JSON ist absichtlich streng, strenger als JavaScript, und genau aus diesem Grund geraten Entwickler, die von JS kommen, immer wieder auf die Idee. Die gute Nachricht ist, dass fast jeder „ungültige JSON“-Fehler einer von sieben häufigen Fehlern ist. Lernen Sie, sie zu erkennen, und die meisten fehlerhaften JSON-Codes sind nur ein Zeichen von der Gültigkeit entfernt.

1. Nachgestellte Kommas (der Hauptschuldige)

Dies ist der häufigste JSON-Fehler. Mit JavaScript können Sie nach dem letzten Element in einem Objekt oder Array ein Komma hinterlassen. Bei JSON ist dies gemäß der RFC 8259-Spezifikation nicht der Fall. Daher ist {"name": "Alice", "age": 30,} aufgrund des Kommas nach 30 ungültig, und ["a", "b",] ist aus demselben Grund ungültig. Die Lösung besteht einfach darin, das Komma nach der letzten Eigenschaft oder dem letzten Array-Element zu entfernen. Das geht jedem auf die Nerven, vom Junior, der eine Konfigurationsdatei von Hand bearbeitet, bis zum Senior, der einen Ausschnitt aus JavaScript einfügt.

2. Einfache Anführungszeichen statt doppelte Anführungszeichen

JSON erfordert doppelte Anführungszeichen um Schlüssel und Zeichenfolgenwerte. Einfache Anführungszeichen sind in JavaScript und Python gültig, jedoch nicht in JSON. Also ist {'name': 'Alice'} ungültig; es muss {"name": "Alice"} sein. Dies geschieht normalerweise, wenn Ihre Nutzlast von einer JavaScript-Konsole.log oder der str()-Ausgabe von Python stammt. Das Suchen und Ersetzen von einfachen bis doppelten Anführungszeichen funktioniert oft, aber achten Sie auf Apostrophe in Zeichenfolgen, da „it's“ kaputt gehen würde, daher ist eine Parser-fähige Lösung sicherer.

3. Schlüssel ohne Anführungszeichen

In JavaScript können Sie Objektschlüssel ohne Anführungszeichen schreiben: {name: „Alice“}. JSON lässt dies nicht zu, jeder Schlüssel muss eine Zeichenfolge in doppelten Anführungszeichen sein. Aus {name: „Alice“} muss also {“name“: „Alice“} werden. Dies ist ein weiteres Symptom für das direkte Kopieren eines JavaScript-Objektliterals in einen JSON-Kontext.

4. Fehlende oder nicht übereinstimmende Klammern

Jede öffnende Klammer benötigt eine schließende Klammer und jede öffnende eckige Klammer benötigt ihr Paar. Wenn sie nicht übereinstimmen, erhalten Sie die gefürchtete Meldung „Unerwartetes Ende der JSON-Eingabe“. Diese sind in einer großen Datei mit dem bloßen Auge schwer zu erkennen. Hier verdient ein Formatierer, der die Klammerübereinstimmung hübsch ausgibt und hervorhebt, seinen Unterhalt, da nicht übereinstimmende Klammern in dem Moment herausfallen, in dem die Struktur eingerückt wird.

5. Kommentare

JSON hat keine Kommentare. Keine // Zeilenkommentare, keine Blockkommentare. Wenn Sie einen Kommentar hinzugefügt haben, um ein Feld zu erläutern, lehnt der Parser die gesamte Datei ab. Die Einstellungen von VS Code verwenden eine Variante namens JSONC, die Kommentare zulässt, und es gibt eine Obermenge namens JSON5, die Kommentare, einfache Anführungszeichen und nachgestellte Kommas zulässt, aber Standardparser wie JSON.parse, das JSON-Modul von Python und die meisten Serverbibliotheken akzeptieren nur striktes JSON. Für Konfigurationsdateien, die Kommentare benötigen, sind YAML oder JSONC die bessere Wahl als JSON.

6. JavaScript-Werte, die kein gültiges JSON sind

In JavaScript gibt es drei Werte, in JSON jedoch nicht: undefiniert, NaN und Infinity. Wenn Ihre Datenquelle eines davon erzeugt hat, was häufig bei der Serialisierung von Objekten vorkommt, die eine fehlgeschlagene numerische Konvertierung enthalten, ist das Ergebnis ungültiges JSON. Die Lösung besteht darin, sie durch null (das JSON-Äquivalent von „kein Wert“) oder einen sinnvollen Standardwert zu ersetzen. Der Fehler liegt normalerweise vorgelagert, an der Stelle, an der die Daten generiert wurden, und nicht im JSON selbst.

7. Zeichen ohne Escapezeichen in Zeichenfolgen

Bestimmte Zeichen müssen innerhalb einer JSON-Zeichenfolge mit einem Backslash maskiert werden. Ein roher Zeilenumbruch, ein Tabulator oder ein wörtlicher Backslash führen zu einem Analysefehler. Ein Windows-Pfad wie „C:\Benutzer\Alice“ ist also ungültig, die Backslashes müssen zu „C:\\Benutzer\\Alice“ verdoppelt werden und ein echter Zeilenumbruch innerhalb einer Zeichenfolge muss als \n geschrieben werden. Diese sind in vielen Editoren unsichtbar, weshalb es frustrierend ist, sie aufzuspüren.

Der schnellste Debugging-Workflow

Die schlimmste JSON-Fehlermeldung ist einfach „ungültiger JSON“ ohne Speicherort. Ein guter Validator macht drei Dinge: Er sagt Ihnen, was falsch ist, sagt Ihnen, wo (Zeile und Spalte) und zeigt den umgebenden Kontext an. Der schnellste Arbeitsablauf besteht darin, die Datei in einen Validator einzufügen, die Zeile zu lesen, auf die sie zeigt, und dann die Zeile darüber zu überprüfen, da der Parser oft erst erkennt, dass etwas nicht stimmt, wenn er auf das nächste Token trifft, sodass ein fehlendes Komma in Zeile 4 als Fehler in Zeile 5 angezeigt wird. Wenn der Fehler auf Position 0 zeigt, prüfen Sie, ob vor der öffnenden Klammer eine Bytereihenfolgemarkierung oder vereinzelter Text vorhanden ist.

Der TextCaret JSON Formatter verwendet die native JSON-Engine des Browsers, um Ihr JSON zu validieren und hübsch auszudrucken, sodass Sie die gleichen präzisen Fehlerberichte wie Ihre Entwicklungstools erhalten. Und da es lokal ausgeführt wird, verlässt JSON mit Schlüsseln oder persönlichen Daten niemals Ihren Computer.

Ungültiges JSON verhindern

Drei Gewohnheiten verhindern die meisten JSON-Schmerzen. Bearbeiten Sie niemals große JSON-Dateien von Hand ohne ein Tool, das die Grammatik berücksichtigt. Beim Speichern hübsch drucken, da Strukturfehler in eingerücktem JSON offensichtlich sind und in einer kompakten einzelnen Zeile verborgen sind. Und vor dem Commit validieren: Durch eine einfache Überprüfung Ihrer CI-Pipeline werden Syntaxfehler erkannt, bevor sie in die Umgebung gelangen. Der meiste fehlerhafte JSON-Code ist ein Zeichen von gültig; Der Trick besteht darin, diesen Charakter früh zu fangen.

Tool ausprobierenJSON-Formatierer →