Бесплатный конвертер

Форматтер JSON и Валидатор

Форматируйте и проверяйте JSON мгновенно в браузере. Загрузка не требуется — полная конфиденциальность и бесплатно.

Перетащите файл JSON сюда

Поддерживаются файлы .json. Или вставьте JSON выше.

Или

Об этом инструменте

Форматирование JSON (часто называемое красивой печатью или украшением) использует компактный JSON и добавляет пробелы — разрывы строк, отступы, одинаковые интервалы — чтобы сделать структуру видимой для читателей. Компактный JSON — подходящий формат для передачи: он минимизирует количество байтов по сети и в хранилище. Форматированный JSON является подходящим форматом для проверки: иерархия с отступом позволяет с первого взгляда выявить вложенную структуру, делает различия осмысленными и позволяет разработчикам находить определенные поля без мысленного анализа документа.

Этот форматтер анализирует входные данные как JSON, чтобы подтвердить их корректность, а затем повторно отправляет их с последовательным отступом. Неверный ввод приводит к ошибке, указывающей на проблему синтаксиса. Допустимые входные данные переформатируются независимо от того, насколько компактным или беспорядочным был источник. По умолчанию отступ составляет два пробела, что соответствует наиболее распространенному соглашению JavaScript.

Форматер также предлагает минификацию (обратную операцию), которая удаляет все ненужные пробелы для создания наименьшего допустимого JSON. Минимизированный вывод полезен для передачи продукции; форматированный вывод полезен для разработки и отладки.

Зачем форматировать JSON

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

Форматирование также выявляет ошибки. Если JSON не удается проанализировать во время форматирования, сообщение об ошибке указывает точное место синтаксической проблемы — часто это отсутствующая запятая, ключ без кавычек или случайная конечная запятая, которую не отметила создающая система. Форматер — это самый простой доступный валидатор JSON.

Как использовать

Вставьте JSON, нажмите «Формат».

  1. Вставьте свой JSON: Вставьте необработанный или компактный JSON в область ввода. Перетаскивание файлов .json также работает.
  2. Выберите отступ: По умолчанию — 2 пробела. Используйте 4 пробела для проектов, которые следуют этому соглашению, или табуляции, если этого требуют ваши последующие инструменты.
  3. Формат: Ввод анализируется с помощью JSON.parse для подтверждения корректности, затем сериализуется с помощью JSON.stringify и выбранного отступа. Ошибки во входных данных приводят к появлению сообщения об ошибке синтаксического анализа, указывающего местонахождение проблемы.
  4. Скопируйте или скачайте: Скопируйте отформатированный JSON в буфер обмена или сохраните как .json. Вывод структурно идентичен вводу, но с одинаковыми пробелами.

Общие случаи использования

Технические детали

Средство форматирования использует JSON.parse и JSON.stringify — одну и ту же пару, поставляемую во всех средах выполнения JavaScript. Синтаксический анализ соответствует RFC 8259 (текущая спецификация JSON), принимает строгий JSON, но отклоняет литералы объектов JavaScript, комментарии, конечные запятые и другие расширения JSON5.

JSON.stringify принимает аргумент отступа: число (пробелы) или строку (пользовательский символ отступа, например табуляцию). Форматер предоставляет оба варианта. Вывод сортируется в исходном порядке объектов (поскольку ES2015 сохранил порядок вставки свойств во всех основных механизмах).

Крайние случаи: большие числа, превышающие Number.MAX_SAFE_INTEGER, теряют точность при анализе (известное ограничение JSON; используйте строковые значения для идентификаторов, превышающих 2^53). Экранирующие символы Юникода в строках сохраняются буквально. Конечные пробелы удаляются из каждой строки.

Лучшие практики

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

Какие типы ошибок JSON обнаруживает этот инструмент?
Инструмент обнаруживает пропущенные запятые, несовпадающие скобки/фигурные скобки, недопустимое экранирование строк, конечные запятые, строки в одинарных кавычках и другие синтаксические нарушения в соответствии со спецификацией RFC 8259 JSON.
Может ли он обрабатывать очень большие файлы JSON?
Да. Средство форматирования обрабатывает JSON в вашем браузере, используя встроенный анализ JavaScript, поэтому эффективно обрабатывает файлы размером до нескольких мегабайт. Для очень больших файлов (более 50 МБ) время обработки зависит от вашего устройства.
Поддерживает ли он JSON с комментариями (JSONC)?
Стандартный JSON не допускает комментариев. Если ваши входные данные содержат комментарии, валидатор пометит их как ошибки. Для поддержки JSONC удалите комментарии перед форматированием.
Изменит ли форматирование значения моих данных?
Нет. Форматирование корректирует только пробелы и отступы — ваши типы данных, значения и структура остаются точно такими же.
Поддерживаются ли функции JSON5 (комментарии, завершающие запятые)?
Нет. Форматтер строго следует RFC 8259. Функции JSON5 вызывают ошибки анализа. Чтобы работать с JSON5, сначала преобразуйте его в стандартный JSON с помощью синтаксического анализатора JSON5.
Мой JSON загружен на сервер?
Нет. Анализ и форматирование полностью выполняются в вашем браузере с использованием встроенных функций JSON.
Потеряют ли большие числа точность?
JavaScript представляет числа как 64-битные числа с плавающей запятой, поэтому целые числа выше 2^53 (около 9 квадриллионов) теряют точность. Идентификаторы или другие большие целочисленные значения сохраняйте их как строки в формате JSON.
Могу ли я отсортировать ключи по алфавиту?
JSON.stringify не сортирует ключи. Используйте отдельный этап сортировки (или форматировщик с поддержкой сортировки), чтобы расположить ключи в алфавитном порядке перед преобразованием в строку.