Разбор / Pretty Print / Минификация / Проверка / Escape / Unescape

Нажмите на звезду, чтобы оценить
ВводПример
символов: 0 | строк: 1
Вывод
ДеревоТекст
Отформатированный результат появится здесь...
символов: 0 | строк: 0

Что такое форматировщик JSON?

Форматировщик JSON добавляет отступы и переносы строк в сжатый JSON, делая его читаемым и удобным для редактирования. Будь то плотный ответ API, компактный конфигурационный файл или фрагмент JSON в логах — форматирование мгновенно делает структуру и каждое поле понятными. После форматирования используйте наш инструмент сжатия JSON, чтобы убрать пробелы; объедините его с инструментом HTTP-тестирования для отправки запросов и с конвертером отметок времени для чтения Unix-времени в полях. Также можно отформатировать локально через json.dumps(indent=2) в Python или JSON.stringify(obj, null, 2) в JavaScript, но наш инструмент работает прямо в браузере без настройки.

Основные сценарии использования

Отладка API: ответы JSON от бэкенда часто сжимаются в одну строку. Вставьте их сюда, чтобы увидеть структуру и значения, а затем используйте инструмент HTTP-тестирования для более быстрого поиска проблем. Редактирование конфигов: форматируйте package.json, tsconfig.json и подобные файлы перед правкой, чтобы заметить пропущенные запятые или несовпадающие скобки. Анализ логов: форматируйте фрагменты JSON из логов, чтобы быстро найти аномальные поля и сообщения об ошибках. Миграция данных: экспортируйте JSON из NoSQL-базы, проверьте здесь полноту полей, а затем сожмите его с помощью инструмента сжатия JSON перед импортом в целевую систему.

Как пользоваться инструментом

Вставьте свой JSON в поле ввода слева, выберите отступ в 2 или 4 пробела и нажмите Форматировать, чтобы получить красивый вывод. Нажмите Сжать, чтобы убрать все пробелы и получить JSON в одну строку. Переключитесь в древовидный вид, чтобы изучать вложенные структуры с помощью сворачивания/разворачивания. Результат можно скопировать в буфер обмена или скачать как файл .json. Если входные данные не являются валидным JSON, инструмент подсветит точную строку и столбец для быстрого исправления.

Советы и приёмы преобразования

Как преобразовать JSON в TypeScript / Java / Go?

При интеграции API сопоставление ответа JSON с определениями типов экономит время. Сначала отформатируйте и проверьте JSON здесь, чтобы не переносить неверную структуру в типы. Затем сопоставьте поля: в TypeScript строка → string, число → number, логическое значение → boolean, вложенные объекты → interface, а массивы используют тип элемента; в Java поля отображаются на POJO, в Go — на поля struct, не забывая делать первую букву заглавной для экспорта. Два частых подводных камня: целые числа длиннее 16 цифр выходят за безопасный диапазон JavaScript, поэтому типизируйте их как string или bigint; а необязательные поля API помечайте опциональными (?).

Как преобразовать JSON в XML / YAML / CSV?

Эти форматы обладают разной выразительностью, поэтому проверьте совместимость структуры перед преобразованием:

  • JSON → XML: сопоставьте пары ключ-значение тегам, а массивы — повторяющимся тегам; экранируйте <, & и > как XML-сущности.
  • JSON → YAML: YAML 1.2 — это надмножество JSON, поэтому большинство парсеров читают JSON напрямую; при обратном преобразовании помните, что YAML чувствителен к отступам.
  • JSON → CSV: работает только для плоского массива объектов, где ключи становятся заголовками; вложенные объекты нужно сначала развернуть (например, {"a":{"b":1}} превращается в столбец a.b).
  • Проверяйте до и после: убедитесь, что JSON валиден здесь, затем проверьте целевой формат после преобразования, чтобы не потерять экранирование или точность чисел.

Как отсортировать ключи JSON?

Отсортированные ключи делают примеры документации API аккуратными, а различия между ответами — более наглядными. В JavaScript рекурсивная сортировка в одну строку выглядит так: const sortKeys = o => Array.isArray(o) ? o.map(sortKeys) : Object.fromEntries(Object.keys(o).sort().map(k => [k, sortKeys(o[k])])). Обратите внимание: стандарт JSON (RFC 8259) не гарантирует порядок ключей; современные парсеры JS и Python 3.7+ сохраняют порядок вставки как деталь реализации. Сортировка нужна только для читаемости и сравнения — не полагайтесь на неё в бизнес-логике.

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

Большинство онлайн-форматировщиков JSON, включая этот, опираются на JSON.parse, который разбирает числа как числа с плавающей точкой двойной точности IEEE 754. Предел безопасных целых — 253-1 (16 цифр, 9007199254740991). Числа из 17 и более цифр (номера заказов, Snowflake ID, ID пользователей соцсетей) могут незаметно потерять точность и окончиться нулём. Проверьте сами: вставьте {"id":12345678901234567890} и отформатируйте. Рекомендованное решение — сериализовать длинные ID как строки на транспортном уровне (например, аннотации строковой сериализации в Java или библиотека json-bigint в JS) либо использовать безпотерный парсер, сохраняющий исходный текст. Передача длинных ID строками — отраслевой стандарт.

Распространённые синтаксические ошибки JSON

Если форматирование завершилось ошибкой, скорее всего, вы наступили на одну из этих типичных проблем. Этот инструмент сообщает точную строку и столбец, чтобы вы могли быстро исправить её:

  • Ключи без кавычек: {name: "x"} следует записывать как {"name": "x"} — ключи JSON должны быть строками в двойных кавычках.
  • Одинарные кавычки: в JSON строки используют только двойные кавычки; замените 'hello' на "hello".
  • Лишняя запятая в конце: после последнего элемента запятая не допускается, поэтому [1, 2,] — ошибка.
  • Комментарии: стандартный JSON не поддерживает // или /* */; этот инструмент может удалить комментарии перед форматированием.
  • Регистр логических значений: используйте только строчные true, false и null.

Что делать, если китайские символы отображаются как \uXXXX?

При вставке JSON китайские символы могут превратиться в последовательности \uXXXX (например, \u7b80\u7f8e для 简美). Это не повреждение — это Unicode-экранирование, использующее \u и четыре шестнадцатеричные цифры. Обычно так бывает, потому что API принудительно выдал ASCII-безопасный вывод или строка была сериализована таким образом.

Чтобы восстановить читаемый текст, вставьте его в этот инструмент и нажмите Форматировать. Стандартная реализация JSON.parse автоматически преобразует \uXXXX обратно в исходные символы. Если нужно обратное — превратить текст в \u-экранирование для устаревших систем — инструмент тоже поддерживает это. Примеры:

  • {"name":"\u7b80\u7f8e\u5de5\u5177"} форматируется в {"name":"简美工具"}.
  • Если вы видите длинную строку символов \u, скорее всего, экранирование двойное; форматируйте слой за слоем.
  • При отладке «искажённого» китайского сначала определите, является ли это Unicode-экранированием (\uXXXX) или настоящей проблемой кодировки, например UTF-8, прочитанной как GBK.

Современные браузеры и большинство языков (включая JSON.stringify в JavaScript) по умолчанию сохраняют китайские символы как есть и экранируют их в \u только при необходимости ASCII-безопасности. Этот инструмент показывает оба варианта, чтобы вы могли подстроиться под нужную спецификацию интерфейса.

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

Изменяет ли форматирование мои данные?

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

Безопасен ли этот форматировщик JSON? Не утекут ли мои данные?

Да, безопасен. Всё форматирование, сжатие и проверка выполняются полностью в вашем браузере. Ваши данные никогда не загружаются на какой-либо сервер.

В чём разница между форматированием и сжатием?

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

Какие ошибки находит валидатор?

Типичные ошибки: несовпадающие скобки или кавычки, отсутствующие или лишние запятые, ключи без кавычек, комментарии (в стандартном JSON не допускаются) и запятые в конце. Инструмент указывает точную строку и столбец, чтобы помочь быстро исправить ошибку.

В чём разница между древовидным и текстовым видом?

Древовидный вид показывает JSON как сворачиваемые узлы — это удобно для быстрого просмотра сложных вложенных данных. Текстовый вид отображает отформатированный исходный текст, что лучше для копирования или построчного сравнения. Переключаться можно в любой момент, а в древовидном виде доступно сворачивание/разворачивание одним нажатием.

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

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

Что делать, если большой файл JSON тормозит?

Если файл JSON больше 1 МБ, проверьте, нет ли в нём лишних пробелов или комментариев. JSON меньше 500 КБ обычно форматируется мгновенно в браузере. Скорость можно улучшить, сначала сжав, а затем отформатировав. Для очень больших выгрузок, например из базы данных, разбейте ввод на части или предварительно обработайте утилитой командной строки jq.

В чём разница между массивами и объектами JSON и как их форматировать?

Объекты JSON используют фигурные скобки {} для пар ключ-значение, где каждый ключ — строка в двойных кавычках. Массивы JSON используют квадратные скобки [] для упорядоченного списка значений: строк, чисел, логических значений, объектов или массивов. Инструмент форматирует и объекты, и массивы, поддерживает разворачивание в дереве и выводит каждый элемент массива на отдельной строке для удобной проверки.

Как восстановить китайские символы из экранирования \uXXXX?

Это последовательность Unicode-экранирования. Например, "\u7b80\u7f8e" — это 简美. Это не повреждённый текст, а китайский символ, закодированный как \u плюс четыре шестнадцатеричные цифры. Инструмент разбирает его стандартным JSON.parse и автоматически восстанавливает исходный китайский. Если вы видите лишь длинную строку символов \u, возможно, экранирование двойное; вставьте сюда и форматируйте слой за слоем.

Станут ли китайские символы «кракозябрами» после форматирования? Нужно ли их экранировать?

Нет, они не превратятся в кракозябры, и экранировать их вручную не нужно. Современные браузеры и большинство языков, включая JSON.stringify в JavaScript, по умолчанию сохраняют китайские символы как есть и не принуждают их к \uXXXX. Экранируйте их только когда принимающая система явно требует ASCII-безопасный вывод. Инструмент позволяет видеть оба варианта, чтобы соответствовать нужной спецификации.

Как найти поле в файле JSON на десятки тысяч строк?

Используйте два подхода вместе: сначала сверните слои в древовидном виде, чтобы сузить область, или нажмите Ctrl+F в текстовом виде, чтобы найти имя поля. Узнав путь, постройте выражение JSONPath, например $.store.book[0].title, и извлеките значение через библиотеку JSONPath в коде или консоли браузера. Форматировать заранее настоятельно рекомендуется, ведь найти поля в сжатом JSON в одну строку почти невозможно.

Можно ли преобразовать JSON в Excel или SQL?

Массив объектов хорошо подходит для CSV или Excel, где ключи становятся заголовками столбцов, а каждый объект — строкой. Преобразование в SQL обычно означает генерацию инструкций CREATE TABLE или INSERT из JSON, для чего вложенные структуры нужно сначала развернуть. Какое бы преобразование вы ни выполняли, сначала отформатируйте и проверьте JSON здесь и подтвердите типы полей, чтобы не занести «грязные» данные.