JSON razl
Strukturno primerjajte dva dokumenta JSON in si oglejte vsako dodano, odstranjeno in spremenjeno vrednost po njeni poti.
JSON razl
Prilepite izvirni JSON v prvo polje in spremenjeno različico v drugo in orodje bo poročalo o vsaki razliki po svoji poti: + user.roles[2] = "admin" za dodano vrednost, − user.legacyId za odstranjeno, ~ user.name: "Anna" → "Eva" za spremembo. Primerjava je strukturna, ne besedilna — oba dokumenta sta razčlenjena in njune vrednosti primerjane rekurzivno, tako da preoblikovanje, zamik in vrstni red ključev objektov nikoli ne štejejo za razlike. To je natanko tisto, kar razlika v navadnem besedilu naredi narobe glede JSON.
Posezite po njem, ko bi se morala odziva API-ja ujemati, a se ne ujemata: uprizoritev proti produkciji, včerajšnja koristna obremenitev proti današnji, odziv pred in po uvedbi. Prav tako je uporaben za odmik konfiguracije – dve izvoženi konfiguracijski datoteki, ki sta se sčasoma razrasli – in za odpravljanje napak v serializiranem stanju, kjer se ena spremenjena zastavica skriva v kilobajtih ugnezdenih objektov.
Elementi matrike se primerjajo po indeksu, tako da se premaknjeni seznam prikaže kot niz sprememb. Ko vrstni red resnično ni pomemben – oznake, seznami dovoljenj – vklopite »Prezri vrstni red matrike« in matrike se ujemajo kot večnabori: poročajo se samo o resnično dodanih ali odstranjenih elementih. »Pokaži nespremenjene vrednosti« dodatno navede vse nespremenjene poti, kar izhod spremeni v popoln popis dokumenta z opombami. Oblika izhoda isto primerjavo spremeni v uporaben patch: RFC 6902 JSON Patch z operacijami add, remove in replace nad potmi JSON Pointer ali merge patch po RFC 7396, kjer null označuje izbrisan ključ. Elementi matrike se odstranjujejo od zadaj naprej, da patch ostane veljaven po vsakem koraku, pred vsako spremembo pa je mogoče dodati operacije test — na dokumentu, ki se je medtem spremenil, patch tako odpove, namesto da bi povozil tuje delo.
Oba dokumenta sta v celoti razčlenjena in primerjana v vašem brskalniku. Nič se ne naloži, zato proizvodne koristne obremenitve, žetoni in podatki o strankah znotraj vašega JSON ostanejo v vaši napravi.