JSON-редактор и валидатор
Форматируйте, минифицируйте, сортируйте ключи и находите значения по JSON Pointer.
- Размер
- 0 Б
- Строки
- 0
- Ключи
- 0
- Значения
- 0
- Объекты / массивы
- 0 / 0
- Глубина
- 0
Поиск по JSON Pointer
Укажите путь по RFC 6901, например /tools/0/slug. Пустой путь возвращает весь документ.
JSON и выбранные файлы обрабатываются только в браузере и не отправляются на сервер. Максимальный размер файла — 5 МБ.
Об инструменте
Онлайн-инструмент форматирует, минифицирует и проверяет JSON, сортирует ключи, экранирует Unicode и показывает строку синтаксической ошибки. Встроенный JSON Pointer помогает получить значение по пути. Текст и файлы до 5 МБ обрабатываются локально в браузере.
Как пользоваться
- Вставьте JSON в левый редактор или откройте файл размером до 5 МБ.
- Выберите отступ: 2 или 4 пробела либо табуляцию. При необходимости включите сортировку ключей и экранирование Unicode.
- Нажмите «Форматировать», «Минифицировать» или «Проверить». При ошибке сервис покажет строку, столбец и соседние строки.
- Скопируйте результат, скачайте JSON-файл либо перенесите результат обратно во входной редактор.
- Для получения отдельного значения укажите JSON Pointer, например
/users/0/name.
Примеры
{"name":"Terabita","active":true}превращается в читаемый документ с отступами.- Путь
/tools/0/slugвозвращает полеslugпервого элемента массиваtools. - Ключ со знаком / записывается в JSON Pointer как
~1, а знак ~ — как~0. - Значение
nullявляется корректным JSON, как и строка, число, логическое значение, объект или массив.
JSON Formatter: форматирование и проверка JSON
JSON (JavaScript Object Notation) — текстовый формат обмена структурированными данными. Его используют REST API, конфигурационные файлы, журналы, веб-приложения, мобильные клиенты и базы документов. Компактная запись удобна для передачи, но вложенный документ без отступов трудно читать и проверять вручную. JSON Formatter Terabita.by приводит данные к понятному виду и выполняет синтаксическую проверку прямо в браузере.
Форматирование и минификация JSON
Форматирование добавляет переносы строк и отступы, не изменяя структуру данных. Два пробела дают компактный читаемый результат и часто используются в веб-проектах. Четыре пробела делают вложенность заметнее, а табуляция подходит командам с соответствующим стилем кода. Минификация выполняет обратную задачу: удаляет необязательные пробелы и переносы, уменьшая текстовый размер документа для передачи или хранения.
Как проверить JSON и найти ошибку
В корректном JSON строки и имена ключей заключаются в двойные кавычки. Формат не допускает одинарные кавычки, комментарии, undefined, NaN и запятую после последнего свойства или элемента. При ошибке редактор показывает сообщение парсера, строку, столбец и фрагмент документа рядом с проблемой. Фактическая причина иногда находится перед указанной позицией: например, пропущенная запятая проявляется на следующем ключе.
Допустимые типы данных
JSON поддерживает объекты, массивы, строки, числа, логические значения true и false, а также null. Корнем документа не обязательно должен быть объект: массив, строка, число и даже отдельный null тоже соответствуют стандарту. Функции, даты, регулярные выражения и бинарные данные не имеют собственного JSON-типа и обычно передаются строкой по соглашению конкретного API.
Сортировка ключей
Сортировка располагает ключи каждого объекта по алфавиту и рекурсивно обрабатывает вложенные объекты. Элементы массивов остаются в исходном порядке, поскольку их позиция обычно имеет смысл. Сортировка помогает сравнивать конфигурации, просматривать изменения в Git и находить нужное поле, однако приложение не должно полагаться на порядок свойств JSON-объекта.
Unicode и экранирование символов
JSON хранит текст в Unicode, поэтому кириллицу и большинство символов можно оставлять читаемыми. Режим экранирования заменяет не-ASCII символы последовательностями вида \u041f. Это бывает полезно для старых систем, журналов и каналов с ограниченной кодировкой, но современным UTF-8 API обычно удобнее передавать исходные символы.
Что такое JSON Pointer
JSON Pointer из RFC 6901 адресует значение с помощью пути, разделённого символами /. Путь /users/0/name означает поле name первого элемента массива users. Пустой путь указывает на весь документ. В имени ключа символ / кодируется как ~1, а ~ — как ~0. JSON Pointer применяется в JSON Patch, OpenAPI и инструментах обработки конфигураций.
Числа и потеря точности
Браузер разбирает числа по правилам JavaScript. Целые значения больше 9007199254740991 могут потерять точность. Идентификаторы, большие номера счетов и 64-битные целые безопаснее передавать в JSON как строки, если точное значение важнее арифметических операций. Форматирование не восстанавливает цифры, уже округлённые парсером.
Размер файла и производительность
Большой документ одновременно хранится как исходный текст, разобранная структура и сформированный результат. Поэтому сервис ограничивает файл пятью мегабайтами, чтобы не перегружать вкладку и мобильное устройство. Для очень крупных журналов и выгрузок используйте потоковые консольные инструменты, которые не держат весь документ в памяти.
Приватность и безопасность
Введённый JSON и выбранный файл не отправляются на сервер Terabita.by: чтение, проверка, форматирование и скачивание выполняются локальным JavaScript. Несмотря на это, не публикуйте результат в открытом доступе, если документ содержит токены, пароли, персональные данные или закрытые адреса. Для работы с текстовым представлением бинарных данных используйте Base64 кодировщик, для просмотра JWT — JWT Decoder, а для сравнения двух версий документа — сравнение текста.
Частые вопросы
Как найти ошибку в JSON?
Нажмите «Проверить» или «Форматировать». Редактор покажет сообщение парсера, строку, столбец и соседние строки. Иногда причина находится немного раньше указанной позиции.
Чем форматирование отличается от минификации?
Форматирование добавляет переносы и отступы для чтения. Минификация удаляет необязательные пробелы, сохраняя ту же структуру данных.
Можно ли сортировать ключи JSON?
Да. Опция сортирует ключи каждого объекта рекурсивно. Порядок элементов массивов при этом не меняется.
Что такое JSON Pointer?
Это стандартный путь к значению по RFC 6901. Например, /users/0/name возвращает поле name первого элемента массива users.
Почему большое число изменилось после форматирования?
JavaScript не гарантирует точность целых чисел больше 9007199254740991. Такие идентификаторы следует передавать строками.
Допустимы ли комментарии и запятые в конце?
Нет. Стандартный JSON не поддерживает комментарии, одинарные кавычки и завершающие запятые. Это возможно только в других форматах, например JSON5.
Отправляется ли JSON на сервер?
Нет. Проверка, форматирование, поиск по JSON Pointer и чтение файлов выполняются локально в браузере.