Форматтер и просмотрщик JSON
Вставьте JSON, и он будет немедленно отформатирован. Нажмите на любое поле, чтобы проверить его полное значение и путь справа; синтаксические ошибки указываются по строке и столбцу. Всё работает локально в вашем браузере.
- Отступ
- 2 / 4 пробела · табуляция
- Дополнительно
- Анализ · сортировка · статистика
- Конфиденциальность
- Ничего не загружается
- Использование
- Бесплатно · без регистрации
ЗАЧЕМ ЭТО НУЖНО
Создано для всех, кто работает с JSON каждый день
Ответы API, конфигурационные файлы, полезные нагрузки логов — исходный JSON приходит в виде одной плотной строки. Сделайте его читаемым, найдите неправильную запятую и верните в нужный вид.
Визуализация и минификация
Одним кликом переключайтесь между удобным для чтения деревом и компактной одной строкой. Выберите 2 пробела, 4 пробела или табуляцию, соответствующую стилю вашего кода.
Ошибки по строке и столбцу
Недействительный JSON отображает точное положение — L12 : C34 — вместо неясного сообщения парсера, так что вы сразу переходите к пропущенной запятой или закрывающей кавычке.
Рекурсивная сортировка ключей
Сортируйте ключи объектов по алфавиту на каждой глубине, а массивы сохраняйте свой порядок. Идеально для сравнения конфигов и стабилизации фикстур между коммитами.
Экранирование / снятие экранирования литералов
Преобразуйте JSON в экранированную строку для вставки в код или файлы окружения, а также разверните кавычный литерал обратно в исходный JSON для анализа.
Нажмите на любое поле, чтобы увидеть его полностью
Нажмите на поле в редакторе, и откроется боковая панель с его полным значением, типом и JSON-путём — включая вложенные объекты и массивы, так что вам больше не придётся вручную считать скобки.
Полностью работает локально
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. Реальная ошибка обычно находится в этом месте или чуть раньше — пропущенная запятая на предыдущей строке, неэкранированная кавычка или лишняя запятая перед закрывающей скобкой.
Есть ли ограничение по размеру? Работает ли на мобильных устройствах?
Жестких ограничений нет — форматирование лог-файлов размером несколько мегабайт работает нормально. На недорогих устройствах обработка очень больших входных данных (десятки МБ) может вызывать задержки, потому что каждый ввод символа приводит к повторному парсингу и форматированию. Интерфейс адаптивный; редактор подстраивается под ширину экрана.