Короткий ответ
JSON — это текстовый формат для хранения и передачи данных. Внутри файла .json нет ничего, кроме текста: названий полей, их значений, фигурных и квадратных скобок. Поэтому его можно открыть любым текстовым редактором, например Блокнотом.
Сайты и приложения используют JSON, чтобы обмениваться данными: браузер получает от сервера список товаров, программа сохраняет настройки, сервис выгружает архив ваших данных. Название расшифровывается как JavaScript Object Notation: запись заимствована у языка JavaScript, но сам формат не зависит от языка программирования и читается практически любой современной программой.
Как выглядит JSON
Так может выглядеть запись о покупателе:
{
"name": "Анна",
"age": 28,
"subscribed": true,
"phone": null,
"cities": ["Москва", "Казань"],
"address": {
"city": "Москва",
"zip": "101000"
}
}Слева от двоеточия стоит название поля — ключ, справа — его значение. Пары разделены запятыми. Значения бывают шести видов:
| Что это | Как записывается | Пример из записи |
|---|---|---|
| Строка | Текст в двойных кавычках | "Анна" |
| Число | Цифры без кавычек | 28 |
| Логическое значение | true или false | true |
| Пустое значение | null | null |
| Массив | Список в квадратных скобках | ["Москва", "Казань"] |
| Объект | Набор пар «ключ: значение» в фигурных скобках | {"city": "Москва"} |
Объекты и массивы можно вкладывать друг в друга, как адрес в примере выше. Поэтому в большом файле бывает много уровней, и читать его удобнее в виде дерева с раскрывающимися ветками.
Где встречаются JSON-файлы
- Выгрузка данных. Сервисы часто отдают архив переписки, контактов или истории заказов в JSON, потому что формат сохраняет структуру данных.
- Настройки программ и игр. Файлы вроде
config.jsonиsettings.jsonхранят параметры, которые программа читает при запуске. - Сайты и веб-приложения. Браузер и сервер обмениваются данными через API, а описание веб-приложения хранится в файле манифеста.
- Сообщения об ошибках. Надпись
JSON parse errorна сайте означает, что данные не удалось прочитать. О ней — ниже.
Чем открыть JSON-файл
| Задача | Чем открыть |
|---|---|
| Быстро посмотреть содержимое | Блокнот в Windows, TextEdit на Mac или любое приложение для текстовых файлов на телефоне |
| Посмотреть структуру в браузере | Перетащить файл в окно Firefox: встроенный просмотрщик JSON покажет данные деревом |
| Найти нужное поле в большом файле | JSON formatter: дерево, поиск по ключам и значениям, файлы до 20 МБ |
| Отредактировать файл настроек | Редактор кода с подсветкой и проверкой, например Visual Studio Code |
| Превратить данные в таблицу | Excel с импортом JSON через Power Query |
Перед редактированием файла настроек сохраните его копию. Одна лишняя запятая или удалённая кавычка не даст программе прочитать файл, и она может не запуститься или сбросить параметры. Если редактор спрашивает кодировку при сохранении, выберите UTF-8.
Почему JSON записан в одну длинную строку
Для программы пробелы и переносы строк между элементами не важны, поэтому их часто убирают, чтобы файл был меньше. Такая обработка называется минификацией. Данные при этом не меняются, но человеку читать сплошную строку неудобно.
Вернуть отступы можно форматированием JSON: вставьте текст, нажмите «Форматировать» и выберите отступ в два или четыре пробела либо табуляцию. Кнопка «Минифицировать» выполняет обратную операцию — минификацию.
Что значит JSON parse error
Parse — это разбор текста. Ошибка означает, что программа попыталась прочитать текст как JSON и встретила то, чего по правилам формата быть не может. В англоязычных сообщениях это выглядит как JSON.parse: unexpected character или unexpected end of data. Что делать, зависит от того, где появилась ошибка.
Ошибка на сайте или в приложении
Обычно сайт ждал от своего сервера JSON, а получил что-то другое: страницу с ошибкой, пустой ответ или оборванные данные. Исправить JSON на своей стороне здесь невозможно.
- обновите страницу и повторите действие;
- проверьте подключение к интернету;
- попробуйте позже или в другом браузере;
- если ошибка повторяется, напишите в поддержку сервиса и укажите, при каком действии она появилась.
Ошибка в файле, который вы правили
В тексте нарушены правила записи JSON. Программа не может его прочитать, пока ошибку не исправят.
- вставьте содержимое в проверку JSON;
- нажмите «Разобрать JSON» — появится номер строки и столбца с ошибкой и кнопка «Перейти к ошибке»;
- исправьте место вручную: автоматически инструмент данные не меняет;
- или верните сохранённую копию файла.
Частые ошибки в JSON
| Ошибка | Неправильно | Правильно |
|---|---|---|
| Запятая после последнего элемента | {"a": 1,} | {"a": 1} |
| Одинарные кавычки | {'a': 'text'} | {"a": "text"} |
| Ключ без кавычек | {a: 1} | {"a": 1} |
| Незакрытая скобка | {"list": [1, 2} | {"list": [1, 2]} |
| Комментарий в тексте | {"a": 1 // пояснение} | {"a": 1} |
| Ноль в начале числа | {"n": 07} | {"n": 7} |
С комментариями есть исключение. Некоторые программы используют расширенный вариант формата: например, файлы настроек Visual Studio Code открываются в режиме JSON with Comments, где комментарии разрешены. Стандартный JSON их не допускает, и строгая проверка покажет ошибку.
JSON и XML
XML — ещё один текстовый формат для данных. Вместо скобок и кавычек в нём используются теги: <city>Москва</city>. Та же информация в JSON обычно короче и проще читается, поэтому JSON чаще встречается в веб-сервисах. XML остаётся в документах и системах, которые исторически на нём построены. Выбирать между ними пользователю обычно не приходится: формат определяет программа, которая читает файл.
Коротко
- JSON — обычный текст с данными в виде пар «ключ: значение».
- Открыть файл можно любым текстовым редактором, а удобнее — в виде дерева.
- Длинную строку превращает в читаемый текст форматирование.
- Ошибка на сайте — повод повторить действие или написать в поддержку, а не править данные.
- Ошибка в своём файле — найдите строку и столбец проверкой и исправьте вручную.
Частые вопросы
JSON — это язык программирования?
Нет. В JSON нельзя написать команды, условия или вычисления: он только описывает данные. Программы на разных языках читают и создают JSON, но сам файл ничего не выполняет.
Можно ли открыть JSON в Excel?
Да, через импорт в Power Query: выберите получение данных из файла JSON, а затем преобразуйте записи в таблицу. Вложенные объекты и массивы придётся развернуть в отдельные столбцы или строки.
Можно ли просто переименовать .txt в .json?
Переименование меняет только расширение. Если текст внутри уже написан по правилам JSON, программа его прочитает. Если нет, файл останется обычным текстом с неподходящим расширением и выдаст ошибку разбора.
Почему в JSON вместо русских букв непонятные символы?
Чаще всего файл открыт в неправильной кодировке. Откройте его в редакторе, где можно выбрать UTF-8. Запись вида \u0410 — не поломка, а допустимый в JSON способ записать символ кодом: после разбора программа покажет обычную букву.












