Pro programátory

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

22. 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. Občas v response narazím na Base64-zakódované hodnoty (JWT tokeny, obrázky) — k dekódování používám Base64 dekodér.

Config debugging - nefunguje build? Někdy je to jen chyba v syntaxi — hodím JSON do JSON Validátoru. Jindy porovnám tsconfig s projektem co funguje a 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ě — k tomu slouží JSON Formatter. V JSON Diff to dělám automaticky, ale v jiných nástrojích formátování předem fakt 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í →