Как работает JSON и почему без него не живет ни один frontend
Введение
Когда начинаешь разбираться во frontend или backend-разработке, JSON встречается буквально везде. Сначала это выглядит как просто какой-то формат с фигурными скобками, но со временем становится понятно — без него вообще ничего не работает.
Я сам сначала воспринимал JSON как «просто способ записать данные», но когда начал работать с API и ловить ошибки, стало ясно: если не понимать, как он устроен — будут постоянные проблемы.
В этой статье разберёмся:
- что такое JSON на самом деле
- как он используется в реальных задачах
- как происходит парсинг
- какие ошибки чаще всего допускают новички
Что такое JSON
JSON — это текстовый формат, в котором хранятся и передаются данные.
Ключевой момент, который многие пропускают:👉 JSON — это строка, а не объект.
Пример:
{ "name": "Artem", "age": 22, "isStudent": true, "skills": ["Python", "JavaScript"] }
Выглядит как объект JavaScript, но на деле это просто текст, который потом превращается в объект.
Зачем он вообще нужен
Представим обычную ситуацию: frontend делает запрос на сервер.
fetch('/api/user')
Сервер не может отправить «живой объект» — он отправляет строку. И вот здесь появляется JSON.
Сервер возвращает что-то вроде:
{ "id": 1, "name": "Artem" }
А уже на клиенте это превращается в объект:
fetch('/api/user') .then(res => res.json()) .then(data => { console.log(data.name); });
Вот этот момент .json() — ключевой.Он берёт строку и превращает её в нормальный объект, с которым можно работать.
Как работает парсинг
Парсинг — это преобразование JSON-строки в объект.
Простой пример:
const jsonString = '{"name": "Artem"}'; const obj = JSON.parse(jsonString); console.log(obj.name); // Artem
Обратная операция:
const obj = { name: "Artem" }; const jsonString = JSON.stringify(obj); console.log(jsonString); // {"name":"Artem"}
Если упростить:
- JSON.parse() → строка → объект
- JSON.stringify() → объект → строка
Что происходит внутри
Когда вызывается JSON.parse(), происходит несколько шагов:
- Проверяется, валидный ли JSON
- Разбираются ключи и значения
- Создаётся объект в памяти
Если где-то ошибка — код просто упадёт.
Например:
JSON.parse('{ name: "Artem" }');
👉 Будет ошибка, потому что ключ без кавычек.
Какие типы данных поддерживаются
JSON довольно простой. В нём есть:
- строки
- числа
- boolean
- null
- массивы
- объекты
Пример:
{ "name": "Artem", "age": 22, "active": true, "skills": ["JS", "Python"], "profile": { "city": "SPB" } }
Чего в JSON нет
Вот тут часто начинаются проблемы.
JSON не поддерживает:
- функции
- undefined
- комментарии
- даты как отдельный тип
Пример с датой:
const obj = { date: new Date() }; console.log(JSON.stringify(obj));
На выходе будет строка:
{"date":"2026-04-01T10:00:00.000Z"}
То есть дата превращается в обычную строку.
Типичные ошибки
Вот с чем я сам чаще всего сталкивался:
1. Ключи без кавычек
{ name: "Artem" }
Так не работает. Нужно:
{ "name": "Artem" }
2. Лишняя запятая
{ "name": "Artem", }
Кажется мелочью, но JSON это не прощает.
3. Попытка распарсить не JSON
JSON.parse("Hello");
👉 сразу ошибка
4. Двойной парсинг
const data = JSON.parse(response.json());
response.json() уже возвращает объект — парсить ещё раз не нужно.
Почему без JSON не работает frontend
Любое современное приложение постоянно обменивается данными:
- загрузка пользователей
- отправка форм
- обновление интерфейса
И всё это происходит через JSON.
Почему именно он:
- простой
- лёгкий
- понятный
- работает везде
По сути, это «общий язык» между frontend и backend.
Где он используется
JSON используется почти везде:
- API
- конфиги (config.json)
- базы данных
- интеграции между сервисами
Если открыть любой современный проект — он там точно будет.
Небольшой пример
const userJson = '{"name":"Artem","age":22}'; const user = JSON.parse(userJson); if (user.age > 18) { console.log("Доступ есть"); }
Простой пример, но он показывает суть:мы получили строку → превратили в объект → начали использовать.
Вывод
JSON кажется простой вещью, но на практике от него зависит очень многое.
Если не понимать:
- как он парсится
- какие у него ограничения
- где он ломается
— можно тратить кучу времени на поиск ошибок.
Заключение
На старте JSON выглядит как мелочь. Но чем дальше заходишь в разработку, тем больше понимаешь — это одна из базовых вещей, без которой никуда.
Если его нормально освоить:
- становится проще работать с API
- легче понимать ошибки
- быстрее писать код
И в целом начинаешь лучше понимать, как устроены веб-приложения.