JSON Diff і порівняння

Порівняйте два документи JSON і виділіть додані, вилучені та змінені шляхи ключів.

Завантаження інструмента…

JSON Diff і порівнянняВставте два документи JSON поруч, і цей інструмент виконає структурне порівняння за ключами, а не звичайне порядкове порівняння рядків, тож переставлені ключі та пробіли ніколи не спричинять хибних змін. Про кожну відмінність повідомляється за її точним шляхом, як-от user.name або items[0], і вона позначається як додана, вилучена або змінена. Усе розбирається й порівнюється цілком у вашому браузері, тож ваші дані ніколи не залишають ваш пристрій.

Що таке JSON Diff і порівняння?

JSON Diff — це безкоштовний інструмент, що працює в браузері й знаходить смислові відмінності між двома значеннями JSON. Замість порядкового порівняння тексту він обходить обидва дерева й зіставляє ключі за іменем, а елементи масивів за індексом, повідомляючи про кожну зміну крапковим шляхом на кшталт config.server.port або list[2]. Розробники бекенду та API використовують його, щоб точно побачити, що змінилося між двома відповідями API, файлами конфігурації чи тестовими даними, а інженери QA та аналітики даних застосовують його, щоб переконатися, що перетворення чи міграція дали очікуваний результат. Оберіть стиль «Символи», щоб читати зміни як рядки + / - / ~, або стиль «Слова», щоб позначати їх як додано, вилучено та змінено. Кнопка «Поміняти місцями» переставляє лівий і правий ввід, тож ви можете дивитися на diff з будь-якого боку.

Як користуватися JSON Diff і порівняння

  1. Вставте вихідний JSON у поле «Ліворуч (оригінал)».
  2. Вставте JSON, з яким хочете порівняти, у поле «Праворуч (змінений)».
  3. Читайте diff у блоці результату, де кожен рядок показує змінений шлях і значення.
  4. За допомогою налаштування «Стиль» перемикайтеся між символами + / - / ~ і словами додано / вилучено / змінено.
  5. Натисніть «Поміняти місцями», щоб поміняти боки, або «Копіювати», щоб отримати повний звіт про відмінності.

Приклади

Змінилося одне значення

Вхідні дані

Ліворуч: {"name":"Ada","age":30}
Праворуч: {"name":"Ada","age":31}

Результат

~ age: 30 -> 31

Один ключ додано і один вилучено

Вхідні дані

Ліворуч: {"a":1,"b":2}
Праворуч: {"a":1,"c":3}

Результат

- b: 2
+ c: 3

Переставлені ключі ідентичні

Вхідні дані

Ліворуч: {"x":1,"y":2}
Праворуч: {"y":2,"x":1}

Результат

Відмінностей немає - обидва документи однакові.

Поширені запитання

Чи надсилається мій JSON на сервер?
Ні. Обидва документи розбираються й порівнюються цілком у вашому браузері за допомогою процедури глибокого порівняння, яка виконується на вашому пристрої. Нічого не завантажується, і інструмент продовжує працювати офлайн.
Чим це відрізняється від звичайного порівняння тексту?
Текстове порівняння зіставляє рядки, тож переформатування або перестановка ключів виглядає як зміна. Цей інструмент порівнює розібрану структуру, зіставляючи ключі обʼєктів за іменем, а елементи масивів за позицією, тож повідомляє лише про справжні смислові відмінності.
Чи важливий порядок ключів?
Ні. Два обʼєкти з однаковими ключами та значеннями вважаються рівними незалежно від порядку, у якому зʼявляються ключі. Проте елементи масиву порівнюються за індексом, тож перестановка масиву зараховується як зміна.
Що означає кожен рядок?
Додані шляхи існують лише праворуч, вилучені шляхи — лише ліворуч, а змінені шляхи мають різні значення з кожного боку. У стилі «Символи» вони відображаються як +, - і ~; у стилі «Слова» вони записуються словами.
Що станеться, якщо мій JSON недійсний?
Якщо один із боків не розбирається, повідомлення про помилку вкаже, який бік (лівий чи правий) недійсний, щоб ви могли його виправити. Diff оновлюється автоматично, щойно обидва боки розбираються без помилок.

Схожі інструменти