📋
← Zurück zu Anleitungen

Häufige JSON-Syntaxfehler und wie man sie mit einem Validator behebt

· Tags: json, json-errors, json-validation, json-syntax, debugging, developer-tips

Häufige JSON-Fehler

Die strengen Syntaxregeln von JSON bedeuten, dass bereits ein einziges falsch platziertes Zeichen ein ganzes Dokument zerstören kann. Wenn Sie die häufigsten JSON-Fehler verstehen, können Sie schneller debuggen und vermeiden, dieselben Fehler zu wiederholen. Im Folgenden finden Sie die häufigsten Probleme, auf die Entwickler stoßen, mit klaren Erklärungen und Korrekturen für jeden Fehler.

1. Nachgestellte Kommas

Fehler: Unexpected token am Ende eines Objekts oder Arrays

Nachgestellte Kommas sind in JavaScript-Objekten und -Arrays erlaubt, aber in JSON strengstens verboten.

Ungültiges JSON:

{
  "name": "Alice",
  "age": 30,
}

Korrektur: Entfernen Sie das Komma nach dem letzten Element.

{
  "name": "Alice",
  "age": 30
}

Arrays mit nachgestellten Kommas:

// Invalid
[1, 2, 3,]

// Valid
[1, 2, 3]

2. Fehlende oder falsche Anführungszeichen um Schlüssel

Fehler: Unexpected identifier oder Expected double-quoted property name

JSON erfordert, dass alle Objektschlüssel in doppelte Anführungszeichen gesetzt werden. Einfache Anführungszeichen und Schlüssel ohne Anführungszeichen sind nicht gültig, obwohl sie in JavaScript funktionieren.

Ungültiges JSON:

{
  name: "Alice",
  'occupation': "Engineer"
}

Korrektur: Setzen Sie Schlüssel immer in doppelte Anführungszeichen.

{
  "name": "Alice",
  "occupation": "Engineer"
}

3. Verwendung einfacher Anführungszeichen für String-Werte

Fehler: Unexpected identifier oder Unterminated string

Genau wie bei Schlüsseln müssen String-Werte in JSON doppelte Anführungszeichen verwenden. Einfache Anführungszeichen sind nicht gültig.

Ungültiges JSON:

{ "greeting": 'Hello, world!' }

Korrektur: Ersetzen Sie einfache durch doppelte Anführungszeichen.

{ "greeting": "Hello, world!" }

Tipp: Wenn Ihr String doppelte Anführungszeichen enthält, maskieren Sie sie mit einem Backslash: "He said, \"Hello\"".

4. Nicht maskierte Sonderzeichen

Fehler: Unexpected token oder Invalid character

Bestimmte Zeichen müssen in JSON-Strings maskiert werden: doppelte Anführungszeichen ("), Backslashes (\) und Steuerzeichen.

Ungültiges JSON:

{
  "path": "C:\Users\Documents\file.json",
  "quote": "He said "hello""
}

Korrektur: Maskieren Sie Backslashes und doppelte Anführungszeichen korrekt.

{
  "path": "C:\\Users\\Documents\\file.json",
  "quote": "He said \"hello\""
}

Vollständige Liste der JSON-Escape-Sequenzen

| Sequenz | Bedeutung | |----------|-----------| | \" | Doppeltes Anführungszeichen | | \\ | Backslash | | \/ | Schrägstrich | | \b | Backspace | | \f | Seitenvorschub | | \n | Zeilenumbruch | | \r | Wagenrücklauf | | \t | Tabulator | | \uXXXX | Unicode-Zeichen (z. B. é für e) |

5. Ungültige Zahlenformate

Fehler: Unexpected number oder Invalid number

JSON hat spezifische Regeln für die Formatierung von Zahlen:

  • Führende Nullen sind nicht erlaubt (01 ist ungültig)
  • Eine einzelne führende Null ist nur für die Zahl 0 erlaubt
  • Zahlen dürfen keine nachgestellten Punkte haben (10. ist ungültig)
  • Hexadezimale, oktale und binäre Formate werden nicht unterstützt

Ungültiges JSON:

{
  "invalid1": 01,
  "invalid2": 10.,
  "invalid3": 0xFF,
  "invalid4": 1,000
}

Korrektur:

{
  "valid1": 1,
  "valid2": 10.0,
  "valid3": 255,
  "valid4": 1000
}

6. Ungültige Werte: undefined, NaN, Infinity

Fehler: Unexpected token für undefined, NaN, Infinity

JavaScript hat Werte, die kein JSON-Äquivalent haben. Diese verursachen Parsing-Fehler:

Ungültiges JSON:

{
  "undefinedVal": undefined,
  "notANumber": NaN,
  "infinity": Infinity
}

Korrektur: Ersetzen Sie sie durch gültige JSON-Werte oder verwenden Sie eine Konvention.

{
  "undefinedVal": null,
  "notANumber": null,
  "infinity": 1.7976931348623157e+308
}

7. Zusätzliche oder fehlende Kommas

Fehler: Expected comma oder Unexpected token

Kommas in JSON müssen jedes Schlüssel/Wert-Paar und jedes Array-Element trennen, dürfen aber nicht nach dem letzten Element stehen.

Fehlendes Komma (ungültig):

{
  "name": "Alice"
  "age": 30
}

Korrektur: Fügen Sie das fehlende Komma hinzu.

{
  "name": "Alice",
  "age": 30
}

8. Probleme mit tief verschachtelten Strukturen

Fehler: Maximum call stack size exceeded oder Parser-Timeout

Obwohl es kein Syntaxfehler ist, kann tief verschachteltes JSON (10+ Ebenen) Leistungsprobleme verursachen und das Debuggen äußerst schwierig machen.

Problematische Struktur:

{
  "level1": {
    "level2": {
      "level3": {
        "level4": {
          "level5": {
            "level6": {
              "value": "too deep"
            }
          }
        }
      }
    }
  }
}

Besserer Ansatz: Flachen Sie die Struktur ab oder verwenden Sie Referenzen.

{
  "users": {
    "alice": { "role": "admin" }
  },
  "permissions": {
    "admin": ["read", "write", "delete"]
  }
}

9. Fehlende öffnende oder schließende geschweifte Klammern

Fehler: Expected ',' or '}' oder Unexpected end of JSON input

Nicht übereinstimmende geschweifte und eckige Klammern sind eine häufige Quelle von JSON-Fehlern, insbesondere bei großen oder handgeschriebenen JSON-Dateien.

Ungültiges JSON:

{
  "name": "Alice",
  "items": [1, 2, 3
}

Korrektur: Stellen Sie sicher, dass jedes { ein passendes } hat und jedes [ ein passendes ].

{
  "name": "Alice",
  "items": [1, 2, 3]
}

Prof-Tipp: Rücke Ihr JSON korrekt ein, um öffnende und schließende Klammern visuell abzugleichen. Ein JSON-Formatter kann dies automatisch erledigen.

So debuggen Sie JSON-Fehler effektiv

  1. Einen JSON-Validator verwenden -- Fügen Sie Ihr JSON in einen kostenlosen JSON-Validator ein, um die genaue Zeile und Spalte des ersten Fehlers zu erhalten.
  2. Inkrementell validieren -- Validieren Sie bei großen Dateien jeweils einen Abschnitt, um den Fehler zu isolieren.
  3. Auf Copy-Paste-Artefakte achten -- Unsichtbare Zeichen, typografische Anführungszeichen und geschützte Leerzeichen schleichen sich oft aus Textverarbeitungsprogrammen oder Webseiten ein.
  4. Zeichenkodierung prüfen -- Stellen Sie sicher, dass Ihre Datei als UTF-8 gespeichert ist. Andere Kodierungen können unsichtbare Fehler erzeugen.
  5. Einen Linter verwenden -- Tools wie ESLint mit dem json-Plugin erkennen JSON-Fehler während der Entwicklung.

Denken Sie daran: JSON-Parser melden in der Regel nur den ersten Syntaxfehler. Beheben Sie diesen einen, validieren Sie erneut und wiederholen Sie den Vorgang, bis das Dokument fehlerfrei ist. Unser JSON-Formatter-&-Validator -Tool liefert Ihnen sofortige, detaillierte Fehlermeldungen, um diesen Prozess zu beschleunigen.