Перейти к контенту
SPCXTools

Сравнение JSON

Быстро находите отличия между двумя JSON-объектами с детальным сравнением по каждому пути.

Работает локально — файлы не покидают ваше устройство

Загрузка инструмента…

Как использовать Сравнение JSON

  1. 1Вставьте исходный JSON в левую панель, а измененный JSON — в правую.
  2. 2Инструмент мгновенно обработает данные и покажет сводку добавленных, удаленных и измененных полей.
  3. 3Отметьте «Игнорировать порядок в массивах», если хотите сравнить их содержимое независимо от последовательности элементов.
  4. 4Просмотрите подробный список изменений с указанием точного пути в JSON и старых/новых значений.
  5. 5Нажмите кнопку копирования, чтобы скопировать текстовый отчет об отличиях в буфер обмена.

Быстрое и приватное сравнение JSON

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

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

Как работает глубокое сравнение JSON

Если вам нужно сравнить два JSON-файла, использование обычного инструмента сравнения текста часто приводит к ложным срабатываниям. Текстовые инструменты сравнивают данные построчно. Если в измененном JSON другие отступы или ключи в объекте просто расположены в другом порядке, текстовый diff пометит весь блок как измененный.

Этот инструмент работает иначе. Он парсит текст в JavaScript-объекты и выполняет глубокое рекурсивное сравнение самой структуры данных. Он игнорирует пробелы, отступы и порядок ключей в объекте. Если {"status": "ok", "code": 200} превратится в {"code": 200, "status": "ok"}, инструмент распознает их как абсолютно идентичные.

Когда он находит отличие, то генерирует точный путь к изменению, используя стандартную точечную нотацию и синтаксис квадратных скобок. Например, если изменится третий тег в массиве, инструмент укажет прямо на tags[2], а не просто подсветит случайную строку в огромном файле.

Работа с массивами: строгий порядок или без учета порядка

Одна из самых частых задач при сравнении JSON — это работа с массивами. Иногда порядок элементов в массиве имеет принципиальное значение. В других случаях массив — это просто неупорядоченный список, и важно лишь совпадение содержимого.

По умолчанию этот инструмент сравнивает массивы строго по индексу. Он проверяет, совпадает ли первый элемент оригинала с первым элементом измененной версии, и так далее.

Если включить опцию Игнорировать порядок в массиве, алгоритм работы изменится. Перед сравнением инструмент сериализует и сортирует содержимое обоих массивов по алфавиту. Это значит, что если исходный массив — ["apple", "banana"], а измененный — ["banana", "apple"], инструмент не найдет никаких отличий. Эта функция незаменима при сравнении ответов API от баз данных, которые не гарантируют определенный порядок сортировки.

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

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

Проверка файлов конфигурации. Современные приложения активно используют конфигурационные файлы JSON, такие как package.json, tsconfig.json или шаблоны облачного развертывания. Перед коммитом изменений используйте этот инструмент, чтобы точно проверить, какие зависимости обновились или какие настройки были изменены.

Аудит записей базы данных. Документоориентированные базы данных, такие как MongoDB, хранят записи в виде JSON-подобных структур. Если вам нужно отследить, как со временем изменился конкретный профиль пользователя или документ, сравнение старого экспорта JSON с текущим состоянием покажет наглядную историю добавленных, удаленных и измененных полей.

Как читать результаты

После вставки валидного JSON в обе панели, инструмент создаст сводку и подробный список изменений:

  • Добавлено (+): Ключи или элементы массива, которые есть в измененном JSON, но отсутствуют в исходном. Они выделены зеленым цветом.
  • Удалено (−): Ключи или элементы массива, которые есть в исходном JSON, но отсутствуют в измененной версии. Они выделены красным цветом.
  • Изменено (~): Ключи, которые присутствуют в обеих версиях, но имеют разные значения (например, строка была обновлена, или логическое значение изменилось с true на false). Они выделены желтым цветом с указанием старого и нового значения.

Если вам нужно поделиться результатами сравнения с коллегой или прикрепить их к баг-репорту, воспользуйтесь кнопкой Копировать. Она скопирует в буфер обмена аккуратную текстовую сводку по каждому измененному пути и его значениям.

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

Частые вопросы

Как инструмент сравнения JSON обрабатывает массивы?
По умолчанию массивы сравниваются строго по порядку индексов. Если включить опцию «Игнорировать порядок в массивах», инструмент отсортирует их по содержимому перед сравнением. Это полезно, когда порядок элементов не важен, но сами данные должны совпадать.
Отправляются ли мои JSON-данные на сервер?
Нет. Обработка и сравнение выполняются локально в вашем браузере с помощью JavaScript. Данные никуда не отправляются, поэтому инструмент абсолютно безопасен для проверки конфиденциальных ответов API, дампов баз данных или приватных конфигурационных файлов.
Что будет, если мой JSON невалидный?
Под текстовым полем появится сообщение об ошибке с указанием места, где не удался парсинг. Для выполнения сравнения необходимо вставить валидный JSON в обе панели.
Можно ли поменять местами исходный и измененный JSON?
Да, нажмите кнопку обмена, чтобы мгновенно поменять местами левую и правую панели. Это изменит представление о том, что считается «добавленным», а что — «удаленным».
Как сравниваются вложенные объекты?
Инструмент рекурсивно обходит вложенные объекты и массивы, формируя точный путь (например, "user.address.city" или "items[2].id") для каждого найденного отличия.
Зачем использовать этот инструмент вместо обычного сравнения текста?
Обычные инструменты (text diff) сравнивают текст построчно. Если в одном и том же JSON-объекте ключи идут в другом порядке, текстовое сравнение покажет это как множество изменений. Инструмент сравнения JSON анализирует саму структуру данных, поэтому он понимает, что {"a":1, "b":2} и {"b":2, "a":1} абсолютно идентичны.