Историческая функция $.parseJSON()

Определение и применение

Функция $.parseJSON() преобразовывала JSON-строку в значение JavaScript. Она встречается в старом коде обработки ответов сервера и настроек, сохранённых в текстовом виде.

Синтаксис

JavaScript
const value = $.parseJSON(jsonText);
// Современный вариант:
const currentValue = JSON.parse(jsonText);

Параметры и возвращаемое значение

jsonText — строка с корректным JSON. Результат может быть объектом, массивом, строкой, числом, логическим значением или null: JSON не ограничен только объектами.

Некорректный JSON вызывает исключение. Имена свойств и строки должны быть в двойных кавычках; комментарии, завершающие запятые, undefined и NaN в JSON не разрешены. Для данных извне предусматривайте обработку ошибки разбора.

Особенности и совместимость

API добавлен в 1.4.1, устарел в 3.0 и удалён в 4.0. В 3.1.1 используется нативный JSON.parse(); его и следует вызывать в современном коде. Пример старой функции запускается на 3.1.1.

Разбор не проверяет структуру данных вашего приложения. После него отдельно проверьте необходимые поля и их типы. Не используйте eval() как замену: он выполняет JavaScript, а не только разбирает данные.

Документация

Пример старого кода

Корректный JSON и ошибка формата: попробуйте сами

Сначала выводится имя из JSON, затем фиксируется ошибка строки с незаключённым в кавычки ключом. Используется jQuery 3.1.1.

index.html
HTML
<pre id="result"></pre>
main.js
JavaScript
const profile = $.parseJSON('{"name":"Анна"}')
let invalid = false
try {
    $.parseJSON('{name:"Анна"}')
} catch (error) {
    invalid = error instanceof SyntaxError
}
$('#result').text(profile.name + ' | ошибка формата: ' + invalid)