JSON
Formátovač JSON
Minifikujte a formátujte JSON.
O formátování JSON
JSON (JavaScript Object Notation) je textový formát pro strukturovaná data. Minifikace odstraňuje bílé znaky, aby se zmenšila velikost dat při přenosu; zkrášlení je znovu odsadí, aby byly vnořené objekty a pole čitelné pro člověka.
JSON je přísnější, než vypadá. Koncové čárky, řetězce v jednoduchých uvozovkách, klíče bez uvozovek i komentáře jsou všechny platné v objektovém literálu JavaScriptu, ale v JSON jsou syntaktickou chybou — běžný zdroj zmatku „proč se to neparsuje“ při kopírování objektového literálu ze zdrojového kódu. Čísla jsou dvojitě přesná čísla s plovoucí desetinnou čárkou podle IEEE-754, stejně jako vlastní číselný typ JavaScriptu, takže celá čísla větší než 2^53 (zhruba 9 biliard) mohou při parsování tiše ztratit přesnost — reálný problém u hodnot, jako jsou 64bitová ID databáze nebo ID typu snowflake ve stylu Discordu.
Kde se s tím setkáte
- Zmenšení API odpovědí nebo konfiguračních souborů před nasazením
- Přeformátování minifikované odpovědi pro účely debugování
- Úprava JSON vloženého z logů nebo vývojářských nástrojů prohlížeče
- Prohlížení payloadu společně s dekódovaným JWT
Často kladené otázky
Proč minifikace nemění data?
Minifikace odstraňuje pouze nevýznamné bílé znaky mezi tokeny — klíče, hodnoty a struktura zůstávají nezměněné, takže výsledek po zpracování je identický.
Opraví to neplatný JSON?
Ne — validuje a přeformátuje platný JSON. Pokud má váš vstup syntaktickou chybu, například přebytečnou čárku, zobrazí se chyba, ne odhad.
Zachová se pořadí klíčů?
Ano. Klíče objektu zůstávají v pořadí, v jakém se vyskytují ve vašem vstupu.
Proč se mi mírně změnilo velké ID číslo?
Čísla v JSON se parsují jako dvojitě přesná čísla s plovoucí desetinnou čárkou podle IEEE-754, která dokážou celá čísla přesně reprezentovat jen do 2^53 (9 007 199 254 740 991). 64bitové ID nad tímto rozsahem ztrácí přesnost ve chvíli, kdy je zparsováno jako číslo. Obvyklým řešením je, aby zdrojový systém taková ID posílal jako řetězce JSON, ne jako holá čísla — tento nástroj jen přeformátuje numerickou přesnost, kterou dostane, a nedokáže obnovit číslice, které se ztratily už dříve po cestě.