Сравните два документа JSON и получите каждое добавленное, удалённое и изменённое значение
Работает в вашем браузере. Ничего из того, что вы вводите, никуда не отправляется.Сравнивать два документа JSON на глаз становится невозможно уже примерно на 20 строках. Инструмент перечисляет каждое добавленное, удалённое или изменённое значение с его путём, так что расхождения конфигурации между двумя средами сразу видны. Оба документа разбираются в вашем браузере и никуда не загружаются.
Эта страница переведена машинным способом с английского оригинала. Перевод ещё не проверен человеком, поэтому ориентируйтесь на английскую версию. Читать английский оригинал
Вставьте старый JSON в поле Слева (до), а новый — в поле Справа (после), или нажмите Показать пример.
Включите Игнорировать порядок в массивах, если элементы могут стоять на других позициях.
Выберите Рядом или Единый вид и просмотрите каждое добавленное, удалённое и изменённое значение с его путём.
Нажмите Копировать различия или Скачать отчёт, чтобы сохранить список в текстовый файл.
Этот инструмент сравнивает два документа JSON по структуре, а не по тексту. Вставьте по одному в каждое поле — и получите список: добавленные, удалённые и изменённые значения, каждое с путём, где оно находится, например $.customer.name или $.items[2].price. Счётчик вверху показывает, сколько изменений каждого вида и совпадают ли документы на самом деле.
Сравнение JSON как текста не работает по причине, знакомой всем: оба файла означают одно и то же, но ключи оказались в другом порядке, и построчное сравнение помечает весь файл как изменённый. Здесь порядок ключей никогда не считается различием, потому что объект — это набор ключей, и в JSON ничто не определяет, какой идёт первым. Пробелы и отступы игнорируются по той же причине.
Порядок в массивах по умолчанию считается различием, потому что [1, 2] и [2, 1] — действительно разный JSON. Если порядок — случайность вашей базы данных или API, включите «Игнорировать порядок в массивах»: тогда элементы сопоставляются по глубокому равенству, и как добавленные или удалённые отмечаются только те, что остались без пары.
Типичные задачи — понять, почему ответ тестовой среды отличается от рабочей, найти настройку, которую кто-то изменил в файле конфигурации, и убедиться, что миграция дала ровно тот документ, который должна была. Результат копируется и скачивается как обычный текст, который читается как патч: минус, плюс или тильда перед каждым путём, — его легко вставить в задачу. Оба документа остаются в вашем браузере и никогда не загружаются.
Да. Без регистрации, без ограничения размера документа и без лимита на число сравнений. Страница существует за счёт нескольких объявлений вне инструмента, и ваши документы никогда к ним не относятся.
Нет. Оба документа разбираются и сравниваются в вашем браузере. Данные с записями клиентов, токенами или внутренними эндпоинтами никогда не покидают ваше устройство, и после закрытия вкладки ничего не сохраняется.
Нет. Объекты сравниваются по ключам, поэтому {"a":1,"b":2} и {"b":2,"a":1} — один и тот же документ без различий. Отступы и пробелы игнорируются по той же причине. Именно здесь ошибается обычное текстовое сравнение.
Да, с параметром Игнорировать порядок в массивах. Тогда элементы сопоставляются по глубокому равенству, и в списке остаются только те, у которых нет пары на другой стороне. Не включайте его, если порядок важен, например в списке шагов или рейтинге.
Каждый путь показывает, где в документе находится различие. Знак доллара — корень документа, точка — ключ объекта, а квадратные скобки — индекс массива или ключ, который не является простым словом. Путь можно вставить в большинство инструментов запросов к JSON.
Да. Скопируйте или скачайте отчёт как обычный текст. Он начинается со счётчиков, затем идёт по строке на каждое различие: минус для удалённого, плюс для добавленного и тильда для изменённого значения, со старым и новым значением рядом.
Всё ещё не получается? Задайте вопрос об инструменте «Сравнение JSON» и ответить может любой, кто знает. Учётная запись не нужна.