Перейти к содержимому
UtilDock

JSON Сравнение

Увидьте, что на самом деле изменилось между двумя документами · работает в этой вкладке и никуда не отправляется

JSON 1

JSON 2

0 B
0 B

Вставьте по документу с каждой стороны — или нажмите Пример, чтобы попробовать на паре, которая различается несколькими любопытными способами. Обе стороны остаются редактируемыми, а стрелки посередине копируют блок в любую сторону.

Как работает JSON Сравнение

Сравнение JSON, внутри которого можно править. Два документа стоят рядом живыми редакторами, а между ними нарисована разница: красным отмечено то, что есть только в JSON 1, зелёным — только в JSON 2, а стрелки на стыке копируют блок в любую сторону, так что пару можно свести прямо по ходу чтения. Ни одна сторона не является эталоном. А поскольку вердикт структурный, а не текстовый, переставленные ключи и другие отступы никогда не считаются изменениями.

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

Элементы массивов сопоставляются по идентификатору, если он есть — поле id, key, uuid или name, — поэтому вставка элемента в начало даёт одно добавление, а не переписывание всего, что идёт следом.

Длинные участки одинаковых строк сворачиваются, оставляя изменения ровно с той структурой вокруг, которая позволяет их найти. Alt + ↑ и Alt + ↓ переходят между различиями.

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

Чем сравнение JSON отличается от текстового diff?

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

Как сравниваются массивы?

Элементы сопоставляются по идентификатору, если он есть: поле id, key, uuid или name. Поэтому вставка элемента в начало даёт одно добавление вместо переписывания всех последующих элементов, а элементы, которые только переместились, отмечаются как перемещения.

Влияют ли порядок ключей или форматирование на результат?

Нет. Порядок ключей, отступы и пробелы в конце строк игнорируются. Два документа, различающиеся только форматированием, считаются одинаковыми.

Загружаются ли два документа куда-либо?

Нет. Оба разбираются и сравниваются в Web Worker внутри этой вкладки. На сервер ничего не отправляется — а это важно, когда вы сравниваете два боевых payload.