Новый формат
JSON: что это, как открыть и где используется
JSON (JavaScript Object Notation) — текстовый формат для обмена структурированными данными между программами и языками. Родом из экосистемы JavaScript, но сам по себе от языка не зависит: его читают Python, PHP, Go, мобильные приложения и API.
Ниже — зачем JSON на сайтах, как устроен синтаксис, чем открыть файл и почему нельзя «скормить» чужой ответ в `eval`. Списки версий IE и старых редакторов опускаем как устаревший шум.
Где применяют JSON
Классика веба: браузер запрашивает данные у сервера (Ajax / `fetch`), получает JSON и обновляет страницу без полной перезагрузки — лента, каталог, корзина, дашборд.
Также: REST/GraphQL-ответы, конфиги фронта, локальное хранение настроек, обмен между микросервисами и мобильным клиентом.
Типичные сценарии:
- API сайта и мобильного приложения;
- подгрузка блоков без reload;
- выгрузки и интеграции;
- конфиги инструментов разработки.
Синтаксис: объекты и массивы
Два каркаса: объект `{ "ключ": значение }` и массив `[ значение1, значение2 ]`. Ключ объекта — строка в кавычках. Значения: строка, число, `true`/`false`, `null`, вложенный объект или массив.
Телефон и ведущие нули храните строкой: `"84959000000"`, не числом — иначе потеряете формат. После последнего элемента запятую в строгом JSON не ставят.
Пробелы и переносы для людей удобны; по сети часто отдают компактную однострочную версию — смысл тот же.
Частые ошибки новичка:
- одинарные кавычки вместо двойных;
- запятая после последнего поля;
- комментарии `//` в строгом JSON;
- числа там, где нужна строка (телефон, артикул).
Ajax, API и безопасность
Клиент запрашивает URL, сервер отвечает телом JSON и заголовком вроде `Content-Type: application/json`. В современном JS достаточно `fetch` + `response.json()` — без `eval`.
Исторические обходы same-origin (JSONP, вставка `<script>`) расширяли поверхность атак. Для новых проектов — CORS и обычный JSON по HTTPS.
Никогда не выполняйте чужой JSON как код. Парсите штатным парсером и валидируйте поля на сервере, если данные пишутся в БД или влияют на права.
Правила безопасности:
- только `JSON.parse` / аналог языка;
- не доверять полям с клиента без проверки;
- HTTPS для чувствительных ответов;
- не класть секреты в публичный JSON фронта.
Чем открыть и править .json
Файл — обычный текст в кодировке UTF-8. Хватает VS Code, Cursor, Notepad++, Sublime или системного `.txt`-редактора. IDE подсветят скобки и подскажут ошибку синтаксиса.
Тяжёлые «комбайны» вроде старых XML-редакторов не обязательны. Для быстрой проверки удобны встроенный форматтер редактора и онлайн-валидаторы — не вставляйте туда секреты из продакшена.
Практичный минимум:
- редактор с подсветкой JSON;
- формат «Pretty print» для чтения;
- валидация перед выкладкой фида/конфига;
- дифф в git, а не правка «на сервере вслепую».
Частые вопросы
JSON — это язык программирования?
Нет. Это формат данных: объекты, массивы, строки, числа, boolean, null. Код на нём не пишут — им обмениваются.
Чем отличается от XML?
Обычно компактнее и проще для JS/API. XML сильнее в схемах и смешанном контенте с разметкой. Для веб-API сегодня чаще JSON.
Как открыть файл .json?
Любым текстовым редактором или IDE с подсветкой. В браузере — расширение/viewer или вставка в онлайн-валидатор. Для продакшена удобнее редактор с форматтером.
Можно ли парсить JSON через eval?
Нельзя в реальных проектах. Используйте `JSON.parse` / штатные парсеры языка. `eval` исполняет код и открывает XSS/инъекции.
Что такое JSON5?
Расширение с комментариями и более мягким синтаксисом. Удобно в конфигах людей; для обмена по API обычно остаётся строгий JSON.
Путаетесь в JSON и API?
Разберём формат и безопасный разбор ответов — без eval и устаревших трюков.
Обсудить задачу