# Форматирование JSON

URL: https://discuvr.org/json-formatter/?hl=ru
Last updated: 2026-11-07
MCP tool: `format_json`

Вставьте JSON: форматирование, минификация или проверка мгновенно. Для ошибки показываются точная строка и столбец. Ничего не сохраняется.

JSON, полученный из лога API или файла конфигурации, обычно представляет собой одну длинную строку, а JSON, который не разбирается, обычно ломается в месте, которое вы не видите. Этот инструмент делает отступы, чтобы вы могли его прочитать, минифицирует его, когда нужен компактный вид, а при повреждении сообщает строку и столбец и показывает эту строку.

## Что делает

- Форматирование с 2 пробелами, 4 пробелами или табуляцией - либо минификация до наименьшей допустимой формы.
- Вывод в формате JSON Lines: одна компактная запись на строку, для логов и потоковых форматов.
- Точные ошибки - сообщение, строка, столбец и окружающие строки.
- По желанию сортирует ключи каждого объекта, чтобы два документа можно было осмысленно сравнить.
- По желанию экранирует не-ASCII символы в \uXXXX, для систем, не поддерживающих UTF-8.
- По желанию допускает комментарии и завершающие запятые, точно сообщая, что было удалено.
- Сообщает структуру документа: ключи, объекты, массивы, глубину вложенности и сэкономленный размер.

## Как это работает

1. Вставьте JSON, или то, что вы надеялись было JSON.
2. Выберите форматирование, минификацию или JSON Lines и нажмите «Форматировать».
3. Скопируйте или скачайте результат - или прочитайте ошибку и исправьте указанную строку.

## Почему сообщение об ошибке важнее форматирования

Чаще всего вы здесь не для того, чтобы сделать JSON красивым - вы здесь потому, что что-то его отклонило, не объяснив почему. Парсер сообщает строку, столбец и то, что он ожидал, а инструмент выводит эту строку вместе с двумя соседними. Пропущенная запятая на четырёхсотой строке конфигурации - это исправление на тридцать секунд, как только вы знаете, где она находится.

## Комментарии и завершающие запятые

JSON никогда не допускал ни то, ни другое, но файлы, которые люди реально вам передают - tsconfig, настройки VS Code, всё, что редактировалось вручную, - полны ими. Установка флажка удаляет их перед разбором, и инструмент затем сообщает, сколько комментариев и сколько запятых было удалено. Это опционально и указывается точно, потому что форматировщик, который тихо изменяет ваш документ, хуже, чем тот, который его отклоняет.

## Чего он не делает

Он не угадывает, что вы имели в виду. Помимо двух удалений выше, ничего не исправляется: незакрытая скобка, ключ в одинарных кавычках или ключ без кавычек сообщаются, а не переписываются. Сортировка ключей и новые отступы никогда не меняют порядок элементов массива и не меняют строки. В следующем разделе перечислены немногие случаи, когда результат всё же может отличаться от вставленного.

## Числа, повторяющиеся ключи и NaN

JSON разбирается и записывается заново, поэтому некоторые вещи возвращаются в нормализованном виде. Числа переписываются: 1.50 становится 1.5, 1E3 становится 1000.0, -0 становится 0, а десятичное число с большим количеством цифр, чем вмещает 64-битное число с плавающей точкой, округляется (0.1000000000000000055 становится 0.1). Целые числа сохраняются точно до 4 300 цифр (более длинные отклоняются). Если в объекте повторяется ключ, остаётся только последнее значение, без предупреждения. NaN, Infinity и -Infinity принимаются и сохраняются, хотя стандартный JSON (RFC 8259) их не допускает, а число, слишком большое для float, например 1e400, выводится как Infinity. Если что-то из этого важно для системы, которой вы передаёте данные, проверьте это сами, прежде чем доверять результату без ошибок.

## Вопросы

**Загружается ли или сохраняется ли мой JSON где-либо?**

Он отправляется на сервер для разбора и сразу же возвращается в том же ответе. Ничего не записывается на диск, не кэшируется и не логируется, а запись об использовании хранит только количества - размер, глубину вложенности, выбранный режим - никогда сам документ.

**Почему он говорит, что мой JSON недействителен, хотя мой редактор его принимает?**

Обычно из-за комментариев, завершающих запятых, одинарных кавычек или ключей без кавычек - всё это обычно в конфигурационных файлах и ничто из этого не является допустимым JSON. Отметьте «разрешить комментарии и завершающие запятые» для первых двух; остальные действительно недействительны и должны быть исправлены.

**Может ли он обработать большой файл?**

До 2 000 000 символов за запрос; более длинный текст отклоняется с указанием его точной длины. Для файлов такого размера лучше подходит инструмент командной строки, например jq.

**Для чего нужен JSON Lines?**

Конвейеры логов и потоковые загрузчики читают один объект JSON на строку, а не один большой массив. Выберите этот режим, и массив верхнего уровня вернётся в виде одной компактной записи на строку.

**Меняет ли сортировка ключей мои данные?**

Нет. Порядок ключей объекта не имеет значения в JSON, а порядок массива - который имеет значение - никогда не затрагивается. Сортировка существует для того, чтобы две версии одного и того же документа можно было сравнить без шума.

**Как открыть этот JSON в Excel?**

В Excel для Microsoft 365 сохраните его как файл .json и выберите Data > Get Data > From File > From JSON (Данные > Получить данные > Из файла > Из JSON). Откроется Power Query: массив верхнего уровня показан как List, To Table (В таблицу) превращает его в столбец Records, а кнопка развёртывания (две стрелки) в заголовке столбца раскладывает каждый ключ в отдельный столбец; развёртывание вложенного массива добавляет по строке на элемент. Power Query нужен один корректный JSON-документ, поэтому сначала исправьте здесь ошибки, для которых указаны строка и столбец, и сохраните результат Форматировать или Минифицировать; вывод JSON Lines предназначен для инструментов логирования. Сам этот инструмент не конвертирует JSON в CSV или Excel.

**Как проверить или отформатировать JSON в командной строке?**

В Python есть встроенная проверка: python -m json.tool data.json выводит документ с отступом в 4 пробела или останавливается с сообщением вроде Expecting ',' delimiter: line 3 column 3. Если установлен jq, jq . data.json форматирует документ, а jq empty data.json только проверяет и ничего не выводит, если файл корректен. Ни один из них не принимает комментарии и висящие запятые, поэтому конфигурационный файл с ними не пройдёт; вставьте его сюда и включите «Разрешить комментарии и висящие запятые», чтобы увидеть, что было удалено.

**Что означает «Expecting property name enclosed in double quotes»?**

Парсер ожидал ключ объекта, а нашёл что-то другое. Чаще всего ключи взяты в одинарные кавычки или вовсе без кавычек, как в {'name': 'Asha'}, скопированном из Python или JavaScript, и разбор останавливается на строке 1, столбце 2: JSON требует двойные кавычки вокруг каждого ключа и строки, а этот инструмент никогда не заменяет кавычки, поэтому исправьте их сами. То же сообщение на закрывающей фигурной скобке, как в {"a": 1,}, означает висящую запятую; включите «Разрешить комментарии и висящие запятые», чтобы её убрать. Expecting value на True, False или None означает значения Python: в JSON пишут true, false и null строчными буквами. В Python json.dumps(data) даёт корректный JSON, а print(data) нет. Ошибки показываются так, как их формулирует парсер Python, на английском, чтобы сообщение можно было искать как есть.

**Что означает «Extra data»?**

Парсер прочитал одно полное значение JSON и нашёл после него ещё текст. Частые причины: лог в формате JSON Lines (NDJSON) с одним объектом на строку, разбор которого останавливается на строке 2, столбце 1; два документа, вставленные друг за другом; или комментарий // после последней закрывающей скобки, который убирает «Разрешить комментарии и висящие запятые». Инструмент проверяет один документ за раз: вставьте одну запись или заключите записи в [ ] через запятую; если затем выбрать JSON Lines, они снова выводятся по одной на строку.

## Ещё в разделе «Инструменты разработчика»

- [Python Formatter](https://discuvr.org/python-formatter/?hl=ru)
- [Просмотр HTML](https://discuvr.org/html-viewer/?hl=ru)
- [Калькулятор подсетей IP](https://discuvr.org/ip-subnet-calculator/?hl=ru)
- [Кодирование / декодирование](https://discuvr.org/encode-decode/?hl=ru)

## Часто используют вместе с

- [CSV в Excel](https://discuvr.org/csv-to-excel/?hl=ru)

---

Part of Discuvr (https://discuvr.org/): Discuvr is a collection of free, focused tools for day-to-day professional work - office and data utilities, legal and compliance helpers, privacy and security checks, and developer formatters. Every tool has its own page, and most can also be called from ChatGPT or Claude over MCP.
