SyntaxError: JSON.parse unexpected characterSyntaxError: JSON.parse — неожиданный символ
Метод JSON.parse() столкнулся с недопустимым JSON-синтаксисом: одинарными кавычками, завершающими запятыми или неэкранированными ключами.
Что вызывает эту ошибку
Строка, переданная в JSON.parse(), не является корректным JSON. Типичные проблемы: одинарные кавычки вместо двойных, завершающие запятые, комментарии в JSON, имена свойств без кавычек или строка содержит HTML/XML вместо JSON.
Как исправить
Проверьте JSON-строку с помощью JSON-валидатора. Убедитесь, что все строки используют двойные кавычки, уберите завершающие запятые и комментарии. Выведите необработанную строку в лог перед разбором, чтобы увидеть, что именно вы пытаетесь разобрать.
Пример
JSON.parse("{'key': 'value'}"); // SyntaxError: single quotes invalid in JSONСвязанные коды ошибок
ERR_CRYPTO_INVALID_STATEERR_CRYPTO_INVALID_STATE
Криптографическая операция была выполнена в недопустимом состоянии.
ERR_FS_CP_DIR_TO_NON_DIRERR_FS_CP_DIR_TO_NON_DIR
Была предпринята попытка скопировать директорию по пути, где уже существует файл (не директория).
ERR_INVALID_RETURN_VALUEERR_INVALID_RETURN_VALUE
Функция вернула значение неожиданного типа.
ReferenceError: x is not definedReferenceError: x не определён
Была сделана ссылка на переменную, которая не объявлена ни в одной доступной области видимости.
ERR_NETWORK_IMPORT_DISALLOWEDERR_NETWORK_IMPORT_DISALLOWED
Была предпринята попытка сетевого импорта (HTTP/HTTPS), запрещённого текущей конфигурацией Node.js.
RangeError: Invalid array lengthRangeError: недопустимая длина массива
Массив был создан с недопустимой длиной — например, отрицательным числом или не целым числом.