JSON-форматтер

Мгновенное форматирование, валидация и минификация JSON.

Вставьте ваш JSON

data.json
Готово. Вставьте JSON и выберите действие.

Обработка JSON происходит прямо в вашем браузере. Данные не отправляются на серверы BroBroGo.

Частые вопросы

Отправляется ли мой JSON на сервер?

Нет. Форматирование выполняется локально в вашем браузере, ваш JSON никуда не отправляется.

Что делает минификация?

Минификация удаляет все лишние пробелы и переносы строк, сохраняя структуру и данные JSON без изменений.

Работа с синтаксисом и структурой JSON

Формат JSON (JavaScript Object Notation) является текстовым стандартом обмена данными, построенным на двух структурах: коллекциях пар ключ/значение (объектах) и упорядоченных списках значений (массивах). Для успешного обмена данными между информационными системами и API-интерфейсами критически важно строгое соблюдение синтаксических правил.

Инструмент «JSON-форматтер» позволяет проверять, форматировать и преобразовывать данные в соответствии со спецификацией JSON. Пользователь может выбрать подходящий синтаксис в поле «Синтаксис», переключаясь между стандартным «JSON» и расширенным «JSONC», который допускает использование комментариев и висячих запятых.

Загрузка данных и ограничения инструмента

Для начала работы в интерфейсе предусмотрено несколько способов импорта данных:

  • Прямая вставка текста в поле ввода «Вставьте ваш JSON».
  • Загрузка файлов с расширением .json или .txt с помощью кнопки «Открыть файл» или путем их перетаскивания в область с подсказкой «Перетащите сюда файл.json или.txt».

При работе с файлами действуют строгие технические правила и ограничения:

  1. Кодировка: Файлы должны быть сохранены исключительно в кодировке UTF-8. Если кодировка отличается, инструмент выведет предупреждение: «Этот файл не является текстом в UTF-8, поэтому его нельзя открыть здесь.».
  2. Размер файла: Существует максимальный лимит на размер открываемого файла. При его превышении отображается ошибка: «Файл слишком большой — лимит {limit}.». Если размер самого текста превышает допустимый предел обработки, пользователь увидит сообщение: «Размер ввода превышает {limit} — это больше, чем инструмент может обработать.».
  3. Тип файла: При попытке загрузить неподдерживаемый формат отображается текст: «Неподдерживаемый тип файла — выберите файл.json или.txt.».
  4. Ошибки чтения: Если файл поврежден, выводится сообщение: «Не удалось прочитать файл. Попробуйте выбрать его снова.».

При обработке больших документов действует синхронный порог в 250 000 символов. Максимальный размер входных данных, который может обработать инструмент, составляет 10 MiB. Если процесс валидации занимает слишком много времени, он прерывается с ошибкой: «Проверка этого JSON заняла слишком много времени и была остановлена. Попробуйте документ поменьше.». При этом инструмент гарантирует точную обработку данных: большие целые числа сохраняются без потери точности.

Форматирование и минификация JSON

Для приведения нечитаемого кода в структурированный вид используется операция форматирования. Пользователь может выбрать необходимый уровень отступов в меню «Отступы» и нажать кнопку «Форматировать». После успешного выполнения операции статус меняется на «JSON отформатирован.».

В случаях, когда данные подготавливаются для передачи по сети или сохранения в базу данных, применяется минификация. Нажатие кнопки «Минифицировать» удаляет все незначительные пробелы, символы табуляции и переносы строк, оптимизируя размер документа. По окончании процесса выводится статус «JSON минифицирован.».

Инструмент также позволяет быстро очистить рабочую область кнопкой «Очистить», после чего появляется статус «Редактор очищен.», а на экране отображается исходное состояние: «Готово. Вставьте JSON и выберите действие.». Статистика по текущему документу выводится в реальном времени в виде показателей «Символы», «Строки» и «Размер».

Навигация по структуре в режиме дерева

Для анализа сложных и глубоко вложенных документов предусмотрено два режима отображения: «Код» и «Дерево». Интерактивный режим «Дерево JSON» позволяет визуально исследовать иерархию элементов.

Особенности работы в режиме дерева:

  • Валидация: Если исходный текст содержит синтаксические ошибки, дерево не построится, а пользователь увидит предупреждение: «Исправьте ошибки в JSON, чтобы просмотреть его в виде дерева.».
  • Ограничения на размер: Для очень больших документов дерево не формируется, выводя сообщение: «Этот JSON слишком велик для отображения в виде дерева.» или «В этом JSON слишком много значений для отображения в виде дерева.».
  • Управление узлами: Пользователь может сворачивать и разворачивать отдельные ветки кнопками «Развернуть все» и «Свернуть все», а также управлять конкретными узлами через «Развернуть {key}» и «Свернуть {key}». При превышении лимита строк отображается предупреждение: «Этот JSON слишком велик, чтобы развернуть его полностью — показаны первые {count} строк.», после чего можно использовать кнопку «Показать еще {count}…».
  • Поиск: Внутри дерева работает строка поиска с меткой «Поиск по ключам и значениям». Количество совпадений отображается в формате «{current} из {total}» или «{current} из {total}+» при достижении лимита поиска. Если совпадений нет, выводится «Совпадений нет». Для перемещения используются кнопки «Предыдущее совпадение» и «Следующее совпадение».

Извлечение данных с помощью JSON Pointer и JSONPath

При работе с деревом пользователь может быстро извлекать пути к конкретным элементам. При клике на узел открывается меню «Параметры копирования для {key}», предлагающее три варианта экспорта:

  1. «Копировать значение» — копирует непосредственно содержимое выбранного узла.
  2. «Копировать JSON Pointer» — копирует путь к элементу в формате RFC 6901 (например, /store/book/0/title).
  3. «Копировать JSONPath» — копирует путь в формате запроса JSONPath (например, $.store.book.title).

При успешном копировании любого элемента или всего текста документа появляется уведомление «Скопировано в буфер обмена.».

Выявление и исправление синтаксических ошибок

Инструмент выполняет строгую валидацию структуры. В отличие от некоторых парсеров, которые автоматически объединяют дублирующиеся свойства, данный инструмент считает их ошибкой и выводит сообщение: «Дублирующийся ключ {key} — удалите один перед форматированием».

При обнаружении некорректного синтаксиса выводится статус «Некорректный JSON» с указанием точного места проблемы в формате «строка {line}, колонка {col}». Кнопка «Перейти к ошибке» позволяет мгновенно сфокусироваться на проблемном участке кода.

Типичные ошибки синтаксиса и их причины

Сообщение об ошибке Описание проблемы
«Пропущена запятая между элементами» Отсутствует разделитель , между свойствами объекта или элементами массива.
«Лишняя запятая перед закрывающей скобкой» Наличие висячей запятой перед символами } или ] в стандартном режиме JSON.
«Ключи объекта должны быть в двойных кавычках» Использование одинарных кавычек или отсутствие кавычек у ключей.
«Пропущено двоеточие после имени свойства» Отсутствует символ : между ключом и его значением.
«У строки нет закрывающей кавычки» Строковое значение не завершено символом двойной кавычки.
«JSON заканчивается слишком рано — похоже, он обрезан» Неполный документ, в котором отсутствуют закрывающие скобки.
«Неожиданный символ там, где должно быть значение» Присутствуют недопустимые символы или неверно записанные литералы.
«Слишком глубокая вложенность JSON для обработки» Превышен лимит глубины вложенности структур данных.

Автоматическое исправление и нестандартные форматы

Инструмент умеет распознавать популярные смежные форматы данных и предлагает автоматическое исправление. При обнаружении отклонений от стандарта появляется кнопка «Предпросмотр исправления», открывающая окно «Предпросмотр исправления» с вкладками «Оригинал» и «После исправления».

Инструмент распознает следующие форматы и предлагает соответствующие действия:

  • Блок кода Markdown: Выводится сообщение «Похоже на JSON внутри блока кода Markdown.». Действие: «При применении останется только JSON внутри блока кода.».
  • Экранированная строка: Выводится сообщение «Похоже на JSON, экранированный внутри строки.». Действие: «При применении строка будет разэкранирована в обычный JSON.».
  • Словарь Python: Выводится сообщение «Похоже на словарь в стиле Python, а не на JSON.». Действие: «При применении кавычки и True/False/None будут переписаны как JSON.».
  • JSON Lines: Выводится сообщение «Похоже на JSON Lines — по одному значению в строке.». Действие: «При применении строки будут собраны в один массив JSON.».
  • JSONP-колбэк: Выводится сообщение «Похоже на JSON, обёрнутый в JSONP-колбэк.». Действие: «При применении обёртка колбэка будет удалена.».
  • Формат JSONC: Выводится сообщение «Похоже на JSONC — комментарии или висячие запятые. Переключите синтаксис на JSONC или примените исправление.». Действие: «При применении комментарии и висячие запятые будут удалены.».

Для любых других неопределенных ошибок выводится универсальное действие: «При применении ввод будет заменён исправленным JSON.». Если исправление невозможно, отображается текст «Не удалось автоматически исправить этот ввод.». При масштабных изменениях может появиться предупреждение: «Предпросмотр усечён — исправление затрагивает весь документ.».

После нажатия кнопки «Применить исправление» изменения вступают в силу, и выводится сообщение: «Исправление применено. Нажмите Ctrl/Cmd+Z, чтобы отменить.». Вернуть исходное состояние также можно кнопкой «Отмена» в окне предпросмотра.

Сортировка ключей объектов

Для упрощения сравнения различных версий файлов конфигурации или ответов API в инструменте предусмотрена функция «Сортировать ключи». При наведении на кнопку отображается подсказка: «Рекурсивно сортирует ключи объектов по кодовым точкам. Порядок элементов массивов не меняется.».

После выполнения сортировки выводится сообщение: «Ключи отсортированы — порядок массивов не изменился. Нажмите Ctrl/Cmd+Z, чтобы отменить.». Сортировка выполняется строго по кодовым точкам Unicode в алфавитном порядке, гарантируя предсказуемый результат для любых объектов.

Конфиденциальность и обработка данных

При работе с конфиденциальной информацией, ключами доступа или персональными данными критически важна безопасность среды обработки. Обработка JSON происходит прямо в вашем браузере. Данные не отправляются на серверы BroBroGo. Все операции по валидации, форматированию, сортировке и исправлению выполняются локально на вашем устройстве.


Часто задаваемые вопросы

Отправляется ли мой JSON на сервер?
Нет. Форматирование выполняется локально в вашем браузере, ваш JSON никуда не отправляется.

Что делает минификация?
Минификация удаляет все лишние пробелы и переносы строк, сохраняя структуру и данные JSON без изменений.

Что произойдет, если в моем JSON есть дублирующиеся ключи?
Инструмент не станет автоматически объединять или удалять дубликаты. Он выдаст ошибку валидации с указанием конкретного дублирующегося ключа, чтобы вы могли безопасно устранить проблему вручную.

Можно ли отформатировать файл с комментариями?
Да. Для этого перед началом работы переключите параметр «Синтаксис» в режим «JSONC». Это позволит сохранить структуру документа без ошибок валидации, связанных с наличием комментариев.