Текстовые инструменты

Форматтер и просмотрщик JSON

Вставьте JSON, и он будет немедленно отформатирован. Нажмите на любое поле, чтобы проверить его полное значение и путь справа; синтаксические ошибки указываются по строке и столбцу. Всё работает локально в вашем браузере.

Форматирование и сжатие Анализ любого поля Ошибки по строке/столбцу 100% клиентская сторона
Отступ

ЗАЧЕМ ЭТО НУЖНО

Создано для всех, кто работает с JSON каждый день

Ответы API, конфигурационные файлы, полезные нагрузки логов — исходный JSON приходит в виде одной плотной строки. Сделайте его читаемым, найдите неправильную запятую и верните в нужный вид.

01

Визуализация и минификация

Одним кликом переключайтесь между удобным для чтения деревом и компактной одной строкой. Выберите 2 пробела, 4 пробела или табуляцию, соответствующую стилю вашего кода.

02

Ошибки по строке и столбцу

Недействительный JSON отображает точное положение — L12 : C34 — вместо неясного сообщения парсера, так что вы сразу переходите к пропущенной запятой или закрывающей кавычке.

03

Рекурсивная сортировка ключей

Сортируйте ключи объектов по алфавиту на каждой глубине, а массивы сохраняйте свой порядок. Идеально для сравнения конфигов и стабилизации фикстур между коммитами.

04

Экранирование / снятие экранирования литералов

Преобразуйте JSON в экранированную строку для вставки в код или файлы окружения, а также разверните кавычный литерал обратно в исходный JSON для анализа.

05

Нажмите на любое поле, чтобы увидеть его полностью

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

06

Полностью работает локально

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

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

Переключайте отступы между 2 пробелами, 4 пробелами и табуляциями. Сжимайте в одну строку при отправке программе, рекурсивно сортируйте ключи объектов при необходимости стабильного порядка, или экранируйте всю полезную нагрузку в строковый литерал — и не экранируйте кавычный литерал, скопированный из строки лога.

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

Больше инструментов для JSON

Сторонние инструменты, подобранные по назначению — мы не дублируем их здесь, поэтому переходите, когда они вам понадобятся.

Инструмент Назначение Функции
JSON Editor Online Редактирование и проверка валидности Связанные панели с текстом и деревом, возможность перетаскивания для изменения структуры, а также инструменты для сравнения, проверки схемы и запросов.
JSON Crack Визуализация Преобразует JSON в интерактивный граф узлов для понимания сложных вложений или быстрого создания демонстрации.
JSON Visio Визуализация Еще один просмотрщик графов с более легким интерфейсом — выберите тот, который вам больше подходит.
Diffchecker Сравнение Сравнивайте два текста рядом или в едином представлении и переходите прямо к вставленным, удаленным или измененным строкам.
JSONPath Запрос Выполняйте выражения JSONPath онлайн и извлекайте точно нужные поля по пути.
JSONata Запрос и преобразование Язык запросов и преобразования для JSON с онлайн-полигоном и примерами.
quicktype Генерация типов Генерируйте определения типов TypeScript, Swift, Go и других языков из JSON.
JSON Generator Тестовые данные Создавайте структурированные тестовые данные по шаблонам — удобно для тестовых фикстур API.

Подробности форматирования JSON

JSON выглядит простым, но имеет несколько строгих правил — их знание позволяет избежать лишних запросов, если парсер отклоняет вашу полезную нагрузку.

Что считается допустимым JSON?

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

Дополнительные элементы JavaScript, такие как одинарные кавычки, undefined, NaN, Infinity и завершающие запятые, не проходят строгий парсер — как раз такие ошибки этот инструмент отмечает.

Чем просмотр отличается от форматирования?

Форматирование изменяет текстовую разметку: отступы, переносы строк и сжатие. Просмотр оставляет документ нетронутым — при нажатии на поле в боковой панели появляется его полное значение, тип и JSON-путём.

Глубоко вложенные объекты сложно читать только по скобкам, поэтому нажатие на поле позволяет точно проверить его содержимое — особенно удобно при ответах API и полезных нагрузках из логов.

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

Спецификация JSON рассматривает объекты как неупорядоченные пары «ключ–значение», и парсеры могут свободно переупорядочивать их. На практике V8 (Chrome / Node) сохраняет порядок добавления строковых ключей, но ключи, похожие на целые числа («1», «42»), всегда сортируются по числовому значению в первую очередь.

Включите «Сортировка ключей объекта», если вам нужен стабильный алфавитный порядок, который сохранится при работе с любым парсером — это полезно для сравнения конфигов.

Насколько большие числа может хранить JSON?

Сам JSON не устанавливает ограничений, но JavaScript интерпретирует все числа как double по стандарту IEEE-754. Целые числа больше ±2^53 (около 9 квадриллионов) теряют точность — например, 9007199254740993 становится 9007199254740992.

Если в вашем полезном грузе есть 64-битные идентификаторы или временные метки в наносекундах, оставьте их как строки; этот инструмент не повредит их, но если вы вставите их в код JS, он их изменит.

Когда стоит использовать минификацию вместо форматирования?

Форматирование нужно для того, что читает человек: проверка кода, отладка, документация. Минификация нужна для того, что передаёт машина: тела API, параметры URL, переменные окружения и файлы .env.

Минификация типичного полезного груза для API экономит 15–30% байтов без изменения структуры — это самое простое сжатие из возможных.

Для чего используется экранирование?

Экранирование преобразует JSON в строковый литерал: кавычки становятся \" а переводы строк — \n, поэтому он может находиться внутри другого значения JSON, команды оболочки или переменной окружения без поломки.

Расэкранирование делает обратное. Если вы когда-либо копировали полезный груз из строки лога вида {\"a\":1}, это именно этот формат — вставьте его сюда и нажмите «Расэкранировать».

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

Мой JSON загружается или сохраняется где-то?

Нет. Всё работает в вашем браузере с помощью JavaScript — ваш JSON не отправляется никуда в запросах, инструмент работает офлайн, и данные не записываются в локальное хранилище, поэтому при обновлении страницы ввод очищается.

Почему форматирование не работает с моим файлом конфигурации?

Скорее всего, это не строгий JSON: JSONC / JSON5 допускают комментарии и завершающие запятые, YAML основан на отступах, а файлы .env состоят из пар «ключ=значение». Сначала удалите комментарии и завершающие запятые, или используйте парсер, созданный для этого формата.

Изменяется ли сортировка ключей также и в массивах?

Нет. Порядок элементов массива имеет значение (первый элемент, второй и т.д.), поэтому массивы всегда остаются на своих местах. Алфавитно сортируются только ключи объектов — включая объекты, вложенные в массивы.

Что означает ошибка «Ошибка возле L12 : C34»?

Это номер строки и столбца, отсчитываемые с 1, где парсер прервал работу: строка 12, столбец 34. Реальная ошибка обычно находится в этом месте или чуть раньше — пропущенная запятая на предыдущей строке, неэкранированная кавычка или лишняя запятая перед закрывающей скобкой.

Есть ли ограничение по размеру? Работает ли на мобильных устройствах?

Жестких ограничений нет — форматирование лог-файлов размером несколько мегабайт работает нормально. На недорогих устройствах обработка очень больших входных данных (десятки МБ) может вызывать задержки, потому что каждый ввод символа приводит к повторному парсингу и форматированию. Интерфейс адаптивный; редактор подстраивается под ширину экрана.

Связанные инструменты