JSON: обмен данными и проверка структуры
Как сериализовать простые данные, обработать ошибку разбора и не путать JSON с произвольным JavaScript.
Основная идея
JSON — текстовый формат обмена данными. JSON.stringify преобразует поддерживаемую структуру в строку, JSON.parse разбирает строку обратно. Имена свойств и строки записываются в двойных кавычках; комментарии и завершающие запятые стандартный JSON не допускает.
Успешный разбор ещё не гарантирует нужную структуру. Ответ может быть корректным JSON-числом вместо объекта или содержать поля другого типа. После parse проверьте обязательные поля и ограничения до использования в интерфейсе.
Пример JavaScript
const text = JSON.stringify({ title: "HTML", minutes: 4 });
try {
const value = JSON.parse(text);
if (typeof value.title !== "string") throw new Error("Нет названия");
console.log(value.title);
} catch (error) {
console.error("Не удалось прочитать данные");
}
Пример создаёт JSON, разбирает его и проверяет тип одного поля. Это минимальная иллюстрация, а не полная схема валидации.
Частая ошибка
Самостоятельная проверка
Замените text некорректной строкой и затем корректным объектом без title. Проверьте обе причины ошибки отдельно.
Код здесь показан для изучения. Встроенная песочница сайта выполняет только HTML/CSS. JavaScript проверяйте в собственном учебном файле или консоли своего тестового проекта; не вставляйте непонятный код на страницах с личными данными.
Следующие темы: объекты, ответы API.