SyntaxError: JSON.parse unexpected characterSyntaxError: JSON.parse unerwartetes Zeichen
JSON.parse() ist auf ungültige JSON-Syntax gestoßen, z. B. einfache Anführungszeichen, abschließende Kommata oder nicht in Anführungszeichen gesetzte Schlüssel.
Was verursacht diesen Fehler
Der an JSON.parse() übergebene String ist kein gültiges JSON. Häufige Probleme sind einfache statt doppelter Anführungszeichen, abschließende Kommata, Kommentare im JSON, nicht in Anführungszeichen gesetzte Eigenschaftsnamen oder ein String, der HTML/XML statt JSON enthält.
So beheben Sie ihn
Validieren Sie den JSON-String mit einem JSON-Validator. Stellen Sie sicher, dass alle Strings doppelte Anführungszeichen verwenden, und entfernen Sie abschließende Kommata sowie Kommentare. Protokollieren Sie den Rohstring vor dem Parsen, um zu sehen, was tatsächlich geparst wird.
Beispiel
JSON.parse("{'key': 'value'}"); // SyntaxError: single quotes invalid in JSONVerwandte Fehlercodes
ERR_CRYPTO_INVALID_STATEERR_CRYPTO_INVALID_STATE
Eine Krypto-Operation wurde in einem ungültigen Zustand durchgeführt.
ERR_FS_CP_DIR_TO_NON_DIRERR_FS_CP_DIR_TO_NON_DIR
Es wurde versucht, ein Verzeichnis in ein Nicht-Verzeichnis-Ziel zu kopieren.
ERR_INVALID_RETURN_VALUEERR_INVALID_RETURN_VALUE
Eine Funktion hat einen Wert eines unerwarteten Typs zurückgegeben.
ReferenceError: x is not definedReferenceError: x ist nicht definiert
Es wurde auf eine Variable verwiesen, die in keinem zugänglichen Gültigkeitsbereich deklariert wurde.
ERR_NETWORK_IMPORT_DISALLOWEDERR_NETWORK_IMPORT_DISALLOWED
Es wurde ein Netzwerkimport (HTTP/HTTPS) versucht, der durch die aktuelle Node.js-Konfiguration nicht erlaubt ist.
RangeError: Invalid array lengthRangeError: Ungültige Array-Länge
Ein Array wurde mit einer ungültigen Länge erstellt, z. B. einer negativen Zahl oder einem Nicht-Integer.