Porovnávejte hodnoty JSON, ne odsazení
Původní JSON vložte vlevo a novou verzi vpravo. Nástroj zpracuje oba dokumenty a porovná jejich datové struktury. Mezery, odsazení a pořadí klíčů objektu nezpůsobí falešné rozdíly, protože mění jen zápis. Změněná hodnota, přidaný klíč nebo odebraný klíč se však ukáže. To pomáhá, když dvě odpovědi API vypadají na obrazovce různě, ale potřebujete zjistit, zda se změnila samotná data. Texty zůstávají během porovnávání v prohlížeči.
Pole JSON jsou uspořádané seznamy, a proto se jejich prvky porovnávají podle indexu. Přesun hodnoty může vyvolat více rozdílů. U posloupnosti kroků nebo seřazených výsledků je to záměrné, protože na pořadí záleží. Jestliže mají záznamy stálé identifikátory a pořadí nemá význam, nejprve je srovnejte nebo seřaďte podle pravidla vhodného pro vaše údaje. Každý posunutý index nepovažujte automaticky za samostatnou úpravu.
Jak číst cesty u změn
Každý rozdíl má cestu podobnou JSON Pointer. Klíč jméno na nejvyšší úrovni se označí jako /jméno; druhý prvek pole role jako /role/1. Výstup rozlišuje přidané, odebrané a změněné hodnoty. Zvláštní znaky v klíčích se nahrazují: lomítko se zapisuje ~1 a vlnovka ~0. Cesta tak ukazuje přesné místo ve vnořeném dokumentu a nemusíte prohledávat celý text.
V připraveném příkladu obsahuje původní objekt jméno Ada a roli správce. Nový objekt má jméno Gréta a navíc roli redaktor. Výsledek má ukázat změnu /jméno a přidání /role/1. Samotná změna odsazení strukturu nemění. Nahradíte-li však textový řetězec "1" číslem 1, jde o skutečnou změnu: JSON rozlišuje řetězec a číslo jako různé typy.
Využití s API a konfiguracemi
Porovnejte odpověď služby před nasazením a po něm, dvě verze konfigurace nebo očekávaný výsledek testu se skutečným. Důležité cesty vložte do hlášení problému, aby kolega mohl rozdíl zopakovat. Místní zpracování zabraňuje odesílání dokumentů do cizí konverzní služby. Zveřejnění citlivých hodnot v tiketu nebo na snímku obrazovky však zůstává samostatným rozhodnutím, které je potřeba zvážit.
Začněte kontrolou platnosti obou dokumentů. Odstraňte koncové čárky a komentáře, které standardní JSON nepovoluje. Spusťte porovnání, prohlédněte první změněnou cestu a rozhodněte, zda je rozdíl pro aplikaci důležitý. Pokud se najednou posunulo mnoho indexů pole, ověřte, jestli sérii nevysvětluje změna pořadí, místo abyste předpokládali nezávislou úpravu každého prvku.
Omezení a správný výklad
Strukturní porovnání není validací schématu ani testem významu dat ve vaší aplikaci. Neví, zda dvě různé URL představují stejný zdroj nebo zda bylo přejmenování pole záměrné. Velké vstupy jsou omezené a zobrazení končí po prvních 500 rozdílech, aby stránka zůstala svižná. Pro úplný audit rozsáhlého dokumentu si ponechte původní soubory.
Běžný parser JSON zpracuje opakované názvy klíčů podle vlastního pravidla. Tento nástroj proto není vhodný k vyšetřování nejednoznačných objektů s duplicitními klíči. Čísla používají reprezentaci JavaScriptu; celá čísla mimo bezpečný rozsah vyžadují specializovaný přesný parser. Nejlépe se hodí pro běžné odpovědi API a konfigurační soubory, jejichž hodnoty těmto hranicím odpovídají.