Pro programátory

JSON diff - jak porovnávám API odpovědi a configy

31. prosince 2025
7 min čtení
JSONAPItestovánívalidace dat

JSON porovnávám denně. API odpovědi, package.json mezi projekty, tsconfig když něco nefunguje. A klasický textový diff na to moc nefunguje.

Proč je to jiné než textový diff

JSON má strukturu. Pořadí klíčů v objektu je technicky jedno - {"a":1,"b":2} je stejné jako {"b":2,"a":1}. Ale textový diff to ukáže jako změnu.

Taky formátování. Někdo má JSON na jednom řádku, někdo pěkně odsazený. Obsah stejný, diff vypadá jako by se změnilo všechno.

Co používám

JSON Diff - udělal jsem ho přesně na tohle. Parsuje JSON, porovnává struktury, zobrazuje stromově. Ignoruje formátování a pořadí klíčů.

jq v terminálu - pro rychlé porovnání dvou souborů:

diff <(jq -S . file1.json) <(jq -S . file2.json)

-S seřadí klíče, takže pořadí nevadí.

VS Code - otevřu oba soubory, pravý klik, "Compare Selected". Funguje, ale nerozumí JSON sémantice.

Časté use cases

API testování - uložím si expected response, porovnám s actual. Hned vidím co se změnilo.

Config debugging - nefunguje build? Porovnám tsconfig s projektem co funguje. Většinou najdu rozdíl.

Package.json - co má kolega jinak? Proč mu to buildí a mně ne? Diff verzí dependencies.

Jeden tip

Před porovnáním naformátujte oba JSONy stejně. Buď minifikované nebo pěkně odsazené. V JSON Diff to dělám automaticky, ale v jiných nástrojích to pomůže.

A pozor na floating point čísla - 1.0 a 1 můžou vypadat jako rozdíl, ale často jde o to samé.

Máte lepší workflow? Napište na info@sikulovi.cz.

Vyzkoušejte PorovnejText.cz zdarma

Nejrychlejší český nástroj pro porovnání textů. Vše probíhá ve vašem prohlížeči, žádná registrace není potřeba.

Porovnat texty nyní →