Porovnanie JSON vstupov
Porovnajte dva JSON dokumenty štruktúrne a uvidíte každú pridanú, odstránenú aj zmenenú hodnotu podľa cesty.
Porovnanie JSON vstupov
Vložte pôvodný JSON do prvého poľa, zmenenú verziu do druhého a nástroj vypíše každý rozdiel podľa cesty: + user.roles[2] = "admin" pre pridanú hodnotu, − user.legacyId pre odstránenú, ~ user.name: "Anna" → "Eva" pre zmenu. Porovnanie je štruktúrne, nie textové — oba dokumenty sa najprv rozparsujú a hodnoty sa porovnávajú rekurzívne. Preformátovanie, odsadenie ani poradie kľúčov v objektoch sa preto nikdy nevykážu ako rozdiel, čo je presne to, v čom bežné textové porovnanie pri JSON zlyháva.
Hodí sa vždy, keď si dve API odpovede majú zodpovedať, ale nezodpovedajú: staging oproti produkcii, včerajší payload oproti dnešnému, odpoveď pred nasadením a po ňom. Rovnako dobre odhalí rozídené konfiguračné súbory — dva exporty, ktoré sa časom od seba vzdialili — aj chybu v serializovanom stave aplikácie, kde sa jediný zmenený príznak skrýva v kilobajtoch vnorených objektov.
Prvky polí sa porovnávajú podľa indexu, takže posunutý zoznam sa zobrazí ako séria zmien. Ak na poradí naozaj nezáleží — značky, zoznamy oprávnení — zapnite „Ignorovať poradie v poliach“ a polia sa porovnajú ako multimnožiny: vykážu sa len skutočne pridané alebo odstránené prvky. Možnosť „Zobraziť nezmenené hodnoty“ vypíše aj všetky nezmenené cesty, takže výstup poslúži ako úplný komentovaný prehľad celého dokumentu. Formát výstupu premení to isté porovnanie na patch, ktorý sa dá použiť: RFC 6902 JSON Patch s operáciami add, remove a replace nad cestami JSON Pointer, alebo merge patch podľa RFC 7396, kde null značí zmazaný kľúč. Prvky poľa sa odstraňujú odzadu, aby patch platil aj po každom kroku, a pred každú zmenu sa dajú pridať operácie test — na zmenenom dokumente potom patch zlyhá namiesto toho, aby prepísal cudziu úpravu.
Oba dokumenty sa parsujú a porovnávajú výhradne vo vašom prehliadači. Nič sa nikam nenahráva, takže produkčné payloady, tokeny aj údaje zákazníkov vo vašom JSON ostávajú na vašom zariadení.