Discuvr Форматирование JSON

Офис и данные

CSV в Excel Вставьте CSV и сразу увидите таблицу, где числа, даты и идентификаторы имеют тот тип, в котором их должен хранить Excel. Скачайте чистый .xlsx, только когда он нужен. Подписать PDF Подпишите PDF в браузере - нарисуйте, напечатайте или загрузите подпись, разместите её на любой странице, добавьте дату и скачайте подписанную копию. Файл не покидает ваше устройство. Скрыть данные Навсегда скрывайте данные в PDF, Word, Excel, PowerPoint, текстовых файлах и изображениях. Совпадения и рамки удаляются из самого файла, а не закрываются, и результат проверяется повторно перед скачиванием. Мой IP-адрес Узнайте публичный IP-адрес, который видят сайты при подключении, общий ли он (CGNAT) или частный, и что ещё раскрывает ваш браузер. Конвертер регистра и инструменты для строк Переводите текст в ВЕРХНИЙ, нижний регистр, Заглавные Буквы или Как в предложении, превращайте имена в camelCase или snake_case, удаляйте повторяющиеся строки и сортируйте списки. Сравнение текстов Вставьте две версии текста, чтобы увидеть все добавленные, удалённые и изменённые строки с выделением изменённых слов.

Тексты и предложения

Редактирование тона Улучшайте написанный текст с правильной грамматикой, структурой и четкостью - в вашем собственном стиле. Одна вставка, один ответ, без диалога в чате. Генератор коммерческих предложений для фриланса Опишите задачу клиента и за считанные секунды получите готовое коммерческое предложение для фрилансера с оценкой объема и стоимости работ.

Право и комплаенс

Чат-бот по праву интеллектуальной собственности Задавайте вопросы об индийском праве ИС - товарные знаки, патенты, авторское право, промышленные образцы и другое, с использованными результатами веб-поиска над каждым ответом. Генератор ответов на FER по патентам Вставьте возражения из первого экспертного отчёта (FER), чтобы составить структурированный ответ, или загрузите черновик для проверки рисков в сфере ИС. Проверка права на государственные программы Ответьте один раз на короткий список вопросов. Войдите в систему, и мы сохраним ваши ответы, чтобы вы могли проверить, на какие центральные государственные программы вы можете претендовать, без повторного ввода.

Конфиденциальность и безопасность

Сканирование безопасности сайта Сканируйте домен на наличие реальных и воспроизводимых уязвимостей. Каждая находка содержит описание и команду для самостоятельной проверки. Очистка изображений Узнайте, что именно ваше фото рассказывает о вас - GPS, серийный номер камеры, ваше имя - и удалите эти данные. Обрезайте, изменяйте размер, размывайте лица и конвертируйте без сохранения изображения где-либо.

Инструменты разработчика

Форматирование JSON Форматируйте, минифицируйте и проверяйте JSON за одну вставку - с точным указанием строки и столбца при ошибке разбора и подсчетом элементов в документе. Python Formatter Форматируйте код Python так же, как Black, с нужной длиной строки и обработкой кавычек - и точным подсчетом измененных строк. Просмотр HTML Вставьте HTML и смотрите предпросмотр в «песочнице» для телефона, планшета или десктопа, с форматированием, минификацией, консолью скриптов и отчетом об ошибках в разметке. Калькулятор подсетей IP Введите CIDR-нотацию или IP-адрес с маской подсети и мгновенно получите адрес сети, широковещательный адрес, диапазон используемых хостов и общее количество адресов. Кодирование / декодирование Кодируйте и декодируйте Base64, Base64URL, процентное кодирование URL, HTML-сущности и hex прямо при вводе, с полной поддержкой UTF-8. Конвертер времени Unix Преобразуйте метку времени Unix в секундах, миллисекундах, микросекундах или наносекундах в дату в UTC или одном из основных часовых поясов мира, а дату - обратно в метку времени. Конструктор схем систем Пишите стрелки вроде User -> API -> Database и получайте готовую схему архитектуры или процесса. Сворачивайте группы для общей картины и нумеруйте шаги для деталей.

Мастерская ИИ

AI Playground Сравнивайте ответы нескольких провайдеров LLM бок о бок в реальном времени. Используйте свои API-ключи. Песочница агентов Экспериментируйте с ИИ-агентами, использующими инструменты (веб-поиск, калькулятор, загрузку URL), от разных провайдеров.

Обучение

Study Buddy Тренер по подготовке к собеседованиям в топовые IT-компании: от первого дня подготовки до принятого оффера. План по DSA, LLD, проектированию систем, поведенческим вопросам и кодингу с ИИ, мок-интервью, разбор резюме, трекер откликов и сравнение офферов.

Помощники на каждый день

Генератор QR-кодов Создавайте QR-коды из текста, URL, данных WiFi или контактов - в виде изображений PNG или векторов SVG, с выбранным вами уровнем коррекции ошибок. Конвертер единиц Мгновенно конвертируйте единицы длины, веса, температуры, объема, скорости, площади и энергии - более 40 типов единиц с моментальным результатом. Генератор паролей Сгенерируйте случайный пароль с криптографически стойкой случайностью, настройте его длину и типы символов и посмотрите его надёжность в битах энтропии. Счётчик слов и анализатор удобочитаемости Считает слова, символы, предложения и абзацы, оценивает время чтения и удобочитаемость - с подлинным посимвольным подсчётом для текста на китайском, японском, корейском и тайском языках. Калькулятор возраста и разницы дат Узнайте точный возраст человека или точную разницу между любыми двумя датами, в годах, месяцах и днях, а также общее количество дней и недель. Калькулятор разницы дат Считайте дни, недели, месяцы и рабочие дни между двумя датами или прибавляйте и вычитайте дни из даты. Калькулятор процентов Вычислите X% от Y, какой процент одно число составляет от другого, процентное увеличение или уменьшение между двумя числами, или обратный процент - четыре распространённых расчёта в одном инструменте. SIP-калькулятор Узнайте, во что вырастет ежемесячный взнос с ежегодным ростом, начальной суммой и инфляцией, или какой взнос нужен для цели. Калькулятор ИМТ Рассчитайте индекс массы тела (ИМТ) по росту и весу, в метрических или имперских единицах, классифицированный по категориям ВОЗ для взрослых: дефицит массы тела, норма, избыточный вес, ожирение.
Войти Начать
Ничего не сохранено
Все инструментыИнструменты разработчика

Форматирование JSON

Форматируйте, сжимайте и проверяйте JSON - а если он не разбирается, узнайте точное место ошибки.

Входные данные

0 символов

Вывод

 

О сервисе Форматирование JSON

JSON, полученный из лога API или файла конфигурации, обычно представляет собой одну длинную строку, а JSON, который не разбирается, обычно ломается в месте, которое вы не видите. Этот инструмент делает отступы, чтобы вы могли его прочитать, минифицирует его, когда нужен компактный вид, а при повреждении сообщает строку и столбец и показывает эту строку.

Что делает

  • Форматирование с 2 пробелами, 4 пробелами или табуляцией - либо минификация до наименьшей допустимой формы.
  • Вывод в формате JSON Lines: одна компактная запись на строку, для логов и потоковых форматов.
  • Точные ошибки - сообщение, строка, столбец и окружающие строки.
  • По желанию сортирует ключи каждого объекта, чтобы два документа можно было осмысленно сравнить.
  • По желанию экранирует не-ASCII символы в \uXXXX, для систем, не поддерживающих UTF-8.
  • По желанию допускает комментарии и завершающие запятые, точно сообщая, что было удалено.
  • Сообщает структуру документа: ключи, объекты, массивы, глубину вложенности и сэкономленный размер.

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

  1. 1 Вставьте JSON, или то, что вы надеялись было JSON.
  2. 2 Выберите форматирование, минификацию или JSON Lines и нажмите «Форматировать».
  3. 3 Скопируйте или скачайте результат - или прочитайте ошибку и исправьте указанную строку.

Почему сообщение об ошибке важнее форматирования

Чаще всего вы здесь не для того, чтобы сделать JSON красивым - вы здесь потому, что что-то его отклонило, не объяснив почему. Парсер сообщает строку, столбец и то, что он ожидал, а инструмент выводит эту строку вместе с двумя соседними. Пропущенная запятая на четырёхсотой строке конфигурации - это исправление на тридцать секунд, как только вы знаете, где она находится.

Комментарии и завершающие запятые

JSON никогда не допускал ни то, ни другое, но файлы, которые люди реально вам передают - tsconfig, настройки VS Code, всё, что редактировалось вручную, - полны ими. Установка флажка удаляет их перед разбором, и инструмент затем сообщает, сколько комментариев и сколько запятых было удалено. Это опционально и указывается точно, потому что форматировщик, который тихо изменяет ваш документ, хуже, чем тот, который его отклоняет.

Чего он не делает

Он не угадывает, что вы имели в виду. Помимо двух удалений выше, ничего не исправляется: незакрытая скобка, ключ в одинарных кавычках или ключ без кавычек сообщаются, а не переписываются. Сортировка ключей и новые отступы никогда не меняют порядок элементов массива и не меняют строки. В следующем разделе перечислены немногие случаи, когда результат всё же может отличаться от вставленного.

Числа, повторяющиеся ключи и NaN

JSON разбирается и записывается заново, поэтому некоторые вещи возвращаются в нормализованном виде. Числа переписываются: 1.50 становится 1.5, 1E3 становится 1000.0, -0 становится 0, а десятичное число с большим количеством цифр, чем вмещает 64-битное число с плавающей точкой, округляется (0.1000000000000000055 становится 0.1). Целые числа сохраняются точно до 4 300 цифр (более длинные отклоняются). Если в объекте повторяется ключ, остаётся только последнее значение, без предупреждения. NaN, Infinity и -Infinity принимаются и сохраняются, хотя стандартный JSON (RFC 8259) их не допускает, а число, слишком большое для float, например 1e400, выводится как Infinity. Если что-то из этого важно для системы, которой вы передаёте данные, проверьте это сами, прежде чем доверять результату без ошибок.

Вопросы

Загружается ли или сохраняется ли мой JSON где-либо?

Он отправляется на сервер для разбора и сразу же возвращается в том же ответе. Ничего не записывается на диск, не кэшируется и не логируется, а запись об использовании хранит только количества - размер, глубину вложенности, выбранный режим - никогда сам документ.

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

Обычно из-за комментариев, завершающих запятых, одинарных кавычек или ключей без кавычек - всё это обычно в конфигурационных файлах и ничто из этого не является допустимым JSON. Отметьте «разрешить комментарии и завершающие запятые» для первых двух; остальные действительно недействительны и должны быть исправлены.

Может ли он обработать большой файл?

До 2 000 000 символов за запрос; более длинный текст отклоняется с указанием его точной длины. Для файлов такого размера лучше подходит инструмент командной строки, например jq.

Для чего нужен JSON Lines?

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

Меняет ли сортировка ключей мои данные?

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

Как открыть этот JSON в Excel?

В Excel для Microsoft 365 сохраните его как файл .json и выберите Data > Get Data > From File > From JSON (Данные > Получить данные > Из файла > Из JSON). Откроется Power Query: массив верхнего уровня показан как List, To Table (В таблицу) превращает его в столбец Records, а кнопка развёртывания (две стрелки) в заголовке столбца раскладывает каждый ключ в отдельный столбец; развёртывание вложенного массива добавляет по строке на элемент. Power Query нужен один корректный JSON-документ, поэтому сначала исправьте здесь ошибки, для которых указаны строка и столбец, и сохраните результат Форматировать или Минифицировать; вывод JSON Lines предназначен для инструментов логирования. Сам этот инструмент не конвертирует JSON в CSV или Excel.

Как проверить или отформатировать JSON в командной строке?

В Python есть встроенная проверка: python -m json.tool data.json выводит документ с отступом в 4 пробела или останавливается с сообщением вроде Expecting ',' delimiter: line 3 column 3. Если установлен jq, jq . data.json форматирует документ, а jq empty data.json только проверяет и ничего не выводит, если файл корректен. Ни один из них не принимает комментарии и висящие запятые, поэтому конфигурационный файл с ними не пройдёт; вставьте его сюда и включите «Разрешить комментарии и висящие запятые», чтобы увидеть, что было удалено.

Что означает «Expecting property name enclosed in double quotes»?

Парсер ожидал ключ объекта, а нашёл что-то другое. Чаще всего ключи взяты в одинарные кавычки или вовсе без кавычек, как в {'name': 'Asha'}, скопированном из Python или JavaScript, и разбор останавливается на строке 1, столбце 2: JSON требует двойные кавычки вокруг каждого ключа и строки, а этот инструмент никогда не заменяет кавычки, поэтому исправьте их сами. То же сообщение на закрывающей фигурной скобке, как в {"a": 1,}, означает висящую запятую; включите «Разрешить комментарии и висящие запятые», чтобы её убрать. Expecting value на True, False или None означает значения Python: в JSON пишут true, false и null строчными буквами. В Python json.dumps(data) даёт корректный JSON, а print(data) нет. Ошибки показываются так, как их формулирует парсер Python, на английском, чтобы сообщение можно было искать как есть.

Что означает «Extra data»?

Парсер прочитал одно полное значение JSON и нашёл после него ещё текст. Частые причины: лог в формате JSON Lines (NDJSON) с одним объектом на строку, разбор которого останавливается на строке 2, столбце 1; два документа, вставленные друг за другом; или комментарий // после последней закрывающей скобки, который убирает «Разрешить комментарии и висящие запятые». Инструмент проверяет один документ за раз: вставьте одну запись или заключите записи в [ ] через запятую; если затем выбрать JSON Lines, они снова выводятся по одной на строку.