Prohlížeč rozdílů JSON
Levý JSON
Pravý JSON
Výstup rozdílů
Technické detaily
Jak funguje nástroj JSON Diff
Co nástroj dělá
Nástroj JSON Diff provádí hluboké strukturální porovnání dvou JSON dokumentů a identifikuje přidané, odstraněné a upravené klíče na každé úrovni zanoření. Výsledky se zobrazují s barevně odlišeným zvýrazněním, které přesně ukazuje, co se změnilo, včetně rozdílů ve vnořených objektech a polích. Poskytuje tak sémantický diff, který rozumí struktuře JSON, místo aby porovnával surové řádky textu.
Běžné případy použití pro vývojáře
Vývojáři používají JSON diff k porovnání odpovědí API před a po změnách kódu, k ověření, že aktualizace konfiguračních souborů obsahují pouze zamýšlené úpravy, a k ladění rozdílů mezi nastaveními specifickými pro prostředí (staging vs production). Je nezbytný při revizi výstupů Terraform plan, porovnávání verzí schémat OpenAPI a ověřování, že skripty databázových migrací vytvářejí očekávané změny schématu v JSON exportech.
Datové formáty, typy nebo varianty
Nástroj provádí strukturální porovnání, kde pořadí klíčů objektu neovlivňuje rovnost (protože JSON objekty jsou podle specifikace neuspořádané), ale pořadí prvků v poli je významné. Změny typu (řetězec '1' vs číslo 1) jsou hlášeny jako úpravy. Hodnoty null se odlišují od chybějících klíčů. Hluboce vnořené rozdíly jsou hlášeny s jejich úplnou JSON cestou, takže můžete najít změny ve složitých dokumentech bez ručního rozbalování každé úrovně.
Běžné nástrahy a okrajové případy
Rozdíly v polích mohou být „šumivé“, když jsou prvky vloženy nebo odstraněny uprostřed, což způsobí, že všechny následující indexy vypadají jako změněné. Čísla s plovoucí desetinnou čárkou se mohou lišit kvůli přesnosti serializace (1.0 vs 1.00000000001), aniž by to představovalo smysluplnou změnu. Velmi velké JSON dokumenty s tisíci klíči na jedné úrovni mohou vytvořit zahlcující výstup diffu — zvažte porovnávání jednotlivých podsekcí. Komentáře nejsou validní JSON, takže komentované konfigurační soubory je nutné před porovnáním očistit.
Kdy použít tento nástroj vs. kód
Použijte tento nástroj v prohlížeči pro rychlé vizuální porovnání dvou JSON payloadů při ladění nebo code review. Pro automatizované regresní testování, CI pipeline nebo programové generování diffů použijte knihovny jako json-diff (npm), deepdiff (Python) nebo porovnání založená na jq, která lze integrovat do testovacích sad a která vytvářejí strojově čitelný patch výstup (formát RFC 6902 JSON Patch).