CodeKitHub
Jak si prohlédnout obrovský JSON soubor bez pádu prohlížeče

Jak si prohlédnout obrovský JSON soubor bez pádu prohlížeče

Publikováno 23. 7. 2026

Vložení 50MB výpisu z API nebo kompletního exportu databáze do jakéhokoli JSON nástroje v prohlížeči — včetně tohoto — záložku zpomalí nebo rovnou zamrazí. Není to chyba konkrétního nástroje, je to vlastnost toho, jak prohlížeče vykreslují text a DOM. Tady je, co se doopravdy děje a jak to obejít.

Proč velké JSON soubory prohlížeč zamrazí, a ne jen „pomalu načtou“

Sčítají se dvě samostatné ceny:

  1. Cena parsování. JSON.parse nad korektním 50MB řetězcem trvá na běžném notebooku zhruba půl sekundy až pár sekund — znatelné, ale to není ten skutečný problém.
  2. Cena vykreslení. Tohle je to, co záložku doopravdy zamrazí. Pokud nástroj vykreslí naformátovaný výsledek jako obří blok textu (nebo hůř, jako sbalitelný strom s DOM uzlem na každý klíč), musí prohlížeč rozvrhnout a vykreslit potenciálně miliony DOM uzlů. Tohle dělá záložku neodpovídající, ne parsování.

Limit velikosti, na který narážíte, tedy skoro nikdy nepochází ze specifikace JSON ani z parseru — pochází z toho, že po prohlížeči chcete, aby najednou nakreslil obrovské množství textu nebo vnořeného UI.

Skutečný postup pro opravdu velké soubory

Neotevírejte celý soubor nikde v prohlížeči. Místo toho:

  1. Nejdřív vytáhněte jen tu část, kterou potřebujete. Pokud debugujete jeden rozbitý záznam uvnitř 200MB výpisu, nepotřebujete mít před sebou zbylých 199 MB. Nástroje příkazové řádky to zvládnou, aniž by kdy načetly celý soubor do paměti tak, jak to dělá záložka prohlížeče:
    # pull out one top-level key from a huge file, streaming
    jq '.results[42]' huge-file.json > fragment.json
    
    # or just grep for context around a known string first
    grep -n '"user_id": 88214' huge-file.json
  2. V prohlížeči formátujte jen ten fragment. Pár KB extrahovaného JSON se naformátuje okamžitě a je skutečně čitelných — je to tentýž návyk „formátuj jen fragment, který tě zajímá“, který se vyplatí u jakéhokoli velkého logu nebo výpisu, ne jen u této konkrétní chyby.
  3. Pokud potřebujete prozkoumat strukturu, ne hodnoty, spusťte nejdřív lokálně jq 'keys' nebo jq '. | length', abyste pochopili tvar dat, než se rozhodnete, co extrahovat. Nepotřebujete vidět 50 000 položek pole, abyste věděli, že pole má 50 000 položek.

Kdy je nástroj v prohlížeči naprosto v pořádku

Pro drtivou většinu reálného debugování — odpověď API, konfigurační soubor, payload webhooku — pracujete s kilobajty až několika megabajty, ne se stovkami. V tomhle rozsahu je vložení přímo do formátovače a okamžitý, čitelný výstup s přesnou pozicí chyby rychlejší než vůbec sahat po příkazové řádce. Hranice, kde se to láme, je mnohem výš, než většina lidí předpokládá; skutečné potíže dělají konkrétně „desítky megabajtů a víc“, ne „víc než jedna stránka“.

Rychlý přehled

Velikost souboru Co dělat
Pod ~5 MB Vložte přímo do formátovače v prohlížeči — okamžité, v pohodě
~5–30 MB Pořád použitelné, ale počítejte s krátkou pauzou; formátujte jen to, co potřebujete číst
30 MB+ Nejdřív vytáhněte relevantní fragment pomocí jq/grep, formátujte jen ten

Nástroj na tohle nepotřebuje „režim velkých souborů“ — řešením je extrakce před prohlížením, což je změna pracovního postupu, ne omezení nástroje.

← Zpět na blog