Проверка на разлики в JSON
Сравнете два JSON документа по структура, а не по текст: вижте всеки добавен, премахнат и променен ключ на собствения му път, изцяло в браузъра си.
🔒 Обработва се изцяло във вашия браузър - нищо, което въвеждате тук, никога не се качва.
Резултат
Поставянето на два JSON документа в нормален инструмент за текстово сравнение почти винаги дава грешна картина: преформатиране, промяна на индентацията или просто сериализиране на ключовете на обектите в различен ред ще освети огромни участъци от „променен“ текст, дори когато подлежащите данни са идентични. Текстовият diff сравнява символи и редове; той няма представа, че {"a":1,"b":2} и {"b":2,"a":1} означават точно едно и също нещо.
Този инструмент първо парсва двата входа като JSON, след което рекурсивно обхожда двете структури по начина, по който данните са действително оформени: обектите се сравняват по име на ключ, а масивите – по позиция (сравнението на масиви по индекс е умишлено по-опростено поведение по подразбиране тук – няма режим „третирай този масив като неподредено множество, индексирано по id поле“). Всяка разлика се докладва на собствения ѝ път, като user.address.city, и се класифицира като добавена, премахната или променена, като старата и новата стойност се показват заедно, за да не се налага да гадаете какво се е обърнало.
Непроменените пътеки са скрити по подразбиране, така че голям payload с една малка промяна да не бъде затрупан в шум, с превключвател за показването им отново, когато искате пълната картина. Опцията „сортиране на ключовете преди сравнение“ обхожда и изброява ключовете на обектите в каноничен азбучен ред – JSON обектът така или иначе няма значим ред на ключовете, така че два обекта с еднакви ключове и стойности в различна последователност са едни и същи данни и тази опция прави това сравнение, и полученият списък, явни и детерминирани. Това е точната настройка зад предварителните избори за сортирано сравнение и за сравнение на API отговори на този инструмент.
Ако имате нужда от класически редов diff рамо до рамо за обикновен текст, код или каквото и да е съдържание, което не е JSON, използвайте вместо това придружаващия инструмент Text Diff – той сравнява ред по ред и е правилният инструмент, когато разликите в празните пространства и форматирането действително имат значение. Този тук е специално за JSON и, както всеки инструмент на този сайт, работи изцяло в браузъра ви: нищо от това, което поставите, не се качва на сървър.