Utilo

Сравнение JSON

Сравнивайте два JSON-документа по структуре. Игнорируйте порядок ключей и массивов, сопоставляйте элементы по id и смотрите добавленные, удалённые, изменённые поля и поля со сменой типа с JSON-путями в сворачиваемом дереве.

Что делает этот инструмент JSON diff

Инструменты дифференциации текста рассматривают JSON как строки, поэтому переупорядоченный ключ или переформатированный файл отображается как стена красного и зеленого. Этот инструмент сравнивает структуру двух JSON-документов. Он проходит по обоим деревьям, сообщает о каждом добавленном, удаленном и измененном значении с его точным JSON-путем, отмечает значения, чей ** тип ** изменился (число, которое стало строкой, является классической регрессией API), и показывает результат как складное дерево или плоский список путей. Сравнение выполняется в Web Worker, поэтому большие полезные нагрузки остаются активными.

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

  1. Вставьте оригинальный документ в A и новый в B.
  2. Читайте краткие счетчики: добавление, удаление, изменение и изменения типа.
  3. Используйте вид "дерево" для расширения только ветвей, которые отличаются друг от друга, или переключитесь на "путь" для копирования списка, такого как $.items[2].price.
  4. Включите ignore order, когда массивы представляют собой наборы (теги, разрешения), а не упорядоченные списки.
  5. Установите match by key (например, id) для сочетания элементов массива по идентичности, поэтому вставка одного элемента не делает каждый следующий элемент выглядит измененным.

Типичные применения

  • ** Проверки регрессии API:** сравнить ответ от стадии и производства после развертывания.
  • ** Конфигурация дрейфа:** различает две конфигурации среды или планы Terraform JSON.
  • Проверка контракта: Полевые поля заднего конца без звука удалены или переименованы.
  • Установки: пересмотреть, что изменилось в тестовом снимке перед принятием.

Советы и особые случаи

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

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

Мои данные отправляются на сервер?

Нет, нет, нет. Оба документа анализируются и сравниваются локально в вашем браузере.

Чем это отличается от инструмента дифференциации текста?

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

Могу ли я сравнить очень большие файлы?

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

Что значит "измененный тип"?

Значение существует с обеих сторон, но его тип JSON отличается, например, объект заменен массивом или null заменен строкой.

Да. Вся обработка происходит прямо в вашем браузере с помощью JavaScript, Web Workers и веб-API. Ничего из того, что вы вводите, вставляете или загружаете, не отправляется на наши серверы.

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