Інструмент для розробників

Порівняння JSON

Порівняйте два документи JSON за структурою, а не за текстом.

Порівняння JSON Працює на вашому пристрої
  • Працює у вашому браузері — ваш текст нікуди не надсилається
  • Без реєстрації та квот, безкоштовно користуйтеся скільки завгодно

Як це працює

Порівняння двох даних JSON звичайним текстовим diff створює шум: змінений порядок ключів, інші відступи й кінцеві коми відображаються як зміни, коли насправді нічого не змінилося. Порівняння розібраної структури натомість показує лише те, що справді відрізняється.

Порівнюється зміст, а не символи

Обидва документи розбираються й порівнюються значення за значенням. Порядок ключів і пробіли не мають значення, бо в об'єктів немає власного порядку. Два документи, що описують те саме, вважаються однаковими, хоч би як по-різному вони були записані.

Як читати результат

Рядок, що починається з +, існує лише в другому документі, − лише в першому, а ~ має в кожному інше значення, і показано обидва. Шлях підказує, де саме: крапки для ключів об'єкта й квадратні дужки для позицій масиву, тож response.items[2].price вказує точно на поле.

Масиви порівнюються за позицією

Третій елемент порівнюється з третім. Для впорядкованих даних це правильна поведінка, а для невпорядкованого набору — неправильна: список тих самих елементів зі зміненим порядком покаже багато змін. Якщо порядок у ваших даних не важливий, спершу відсортуйте обидві сторони.

Чому це працює локально

Дані API регулярно містять токени, записи про клієнтів і внутрішні ідентифікатори. Вставляючи два таких документи у віддалений сервіс порівняння, ви віддаєте йому все це. Тут обидва документи розбираються й порівнюються на сторінці.

Запитання й відповіді

Порівняння JSON: запитання

Чи має значення порядок ключів?

Ні. В об'єктів немає власного порядку, тому змінений порядок ключів не вважається відмінністю.

Як порівнюються масиви?

За позицією. Список зі зміненим порядком виглядає як багато змін, тож якщо порядок не важливий, спершу відсортуйте обидві сторони.

Що означають символи?

+ є лише в другому документі, − лише в першому, а ~ відрізняється між ними.

Чи завантажуються мої дані на сервер?

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