0

Проверка на разликите в JSON

Сравнете два JSON полезни товара по структура, а не по текст: вижте всеки добавен, премахнат и променен ключ по собствен път, изцяло във вашия браузър.

Обработка... 0%

Резултат

Поставянето на два JSON документа в нормален инструмент за разлика в текста почти винаги създава грешна картина: преформатирането, повторното отстъпване или просто сериализирането на ключове на обекти в различен ред ще освети огромни участъци от „променен“ текст, дори когато основните данни са идентични. Текстовата разлика сравнява знаци и редове; няма представа, че {"a":1,"b":2} и {"b":2,"a":1} означават точно едно и също нещо.

Този инструмент първо анализира и двата входа като JSON, след което рекурсивно обхожда двете структури по начина, по който данните са действително оформени: обектите се сравняват по име на ключ, а масивите по позиция (сравняването на масиви, базирано на индекс, тук е умишлено, по-просто по подразбиране – няма режим „третиране на този масив като неподреден набор, ключов от id поле“). Всяка разлика се отчита по собствен път, като user.address.city, и се класифицира като добавена, премахната или променена, като старата и новата стойност се показват заедно, така че никога да не се налага да гадаете какво е обърнато.

Непроменените пътища са скрити по подразбиране, така че голям полезен товар с една малка промяна не го затрупва с шум, с превключвател, за да ги разкриете отново, когато искате пълната картина. Опцията „сортиране на ключове преди сравняване“ обикаля и изброява ключовете на обекти в каноничен азбучен ред — JSON обектът няма значим ред на ключовете като начало, така че два обекта с еднакви ключове и стойности в различна последователност са едни и същи данни и тази опция прави това сравнение и полученият списък изрично и детерминистично. Това е точната настройка зад сортираните и предварително зададените за сравнение на отговорите на API на този инструмент.

Ако се нуждаете от класически паралелен ред за разлика за обикновен текст, код или каквото и да е съдържание, което не е JSON, вместо това използвайте придружаващия инструмент Text Diff — той сравнява ред по ред и е правилният инструмент, когато интервалите и разликите във форматирането наистина имат значение. Този е специално за JSON и, както всеки инструмент на този сайт, той работи изцяло във вашия браузър: нищо, което поставите, никога не се качва никъде.