SyntaxError: JSON.parse unexpected characterSyntaxError: JSON.parse — neočekávaný znak
Funkce JSON.parse() narazila na neplatnou syntaxi JSON, jako jsou jednoduché uvozovky, přebytečné čárky nebo nekotované klíče.
Co způsobuje tuto chybu
Řetězec předaný do JSON.parse() není platný JSON. Časté problémy zahrnují použití jednoduchých uvozovek místo dvojitých, přebytečné čárky, komentáře v JSON, nekotované názvy vlastností nebo řetězec obsahující HTML/XML místo JSON.
Jak to opravit
Ověřte JSON řetězec pomocí JSON validátoru. Ujistěte se, že všechny řetězce používají dvojité uvozovky, odstraňte přebytečné čárky a komentáře. Před parsováním zalogujte surový řetězec, abyste viděli, co se skutečně pokoušíte parsovat.
Příklad
JSON.parse("{'key': 'value'}"); // SyntaxError: single quotes invalid in JSONSouvisející chybové kódy
ERR_CRYPTO_INVALID_STATEERR_CRYPTO_INVALID_STATE
Kryptografická operace byla provedena v neplatném stavu.
ERR_FS_CP_DIR_TO_NON_DIRERR_FS_CP_DIR_TO_NON_DIR
Byl učiněn pokus o zkopírování adresáře do cíle, který není adresářem.
ERR_INVALID_RETURN_VALUEERR_INVALID_RETURN_VALUE
Funkce vrátila hodnotu neočekávaného typu.
ReferenceError: x is not definedReferenceError: x není definováno
Byla odkazována proměnná, která nebyla deklarována v žádném dostupném rozsahu.
ERR_NETWORK_IMPORT_DISALLOWEDERR_NETWORK_IMPORT_DISALLOWED
Byl proveden pokus o síťový import (HTTP/HTTPS), který aktuální konfigurace Node.js neumožňuje.
RangeError: Invalid array lengthRangeError: neplatná délka pole
Pole bylo vytvořeno s neplatnou délkou, například záporným číslem nebo necelým číslem.