
Ako si prezrieť obrovský JSON súbor bez toho, aby vám padol prehliadač
Publikované 23. 7. 2026
Vloženie 50MB API výpisu alebo kompletného exportu databázy do akéhokoľvek JSON nástroja v prehliadači — vrátane tohto — kartu spomalí alebo rovno zamrazí. Nie je to chyba konkrétneho nástroja, je to vlastnosť toho, ako prehliadače vykresľujú text a DOM. Tu je popis, čo sa v skutočnosti deje a ako to obísť.
Prečo veľké JSON súbory prehliadač zamrazia, a nie len „pomaly načítajú“
Sčítavajú sa dva samostatné náklady:
- Náklad na parsovanie.
JSON.parsena správne sformovanom 50MB reťazci trvá na bežnom notebooku zhruba pol sekundy až pár sekúnd — badateľné, ale nie skutočný problém. - Náklad na vykresľovanie. Toto je to, čo kartu naozaj zamrazí. Ak nástroj vykreslí naformátovaný výsledok ako obrovský blok textu (alebo horšie, ako zbaliteľný strom s DOM uzlom na každý kľúč), prehliadač musí rozvrhnúť a vymaľovať potenciálne milióny DOM uzlov. Toto robí kartu neresponzívnou, nie parsovanie.
Limit veľkosti, na ktorý narážate, teda takmer nikdy nepochádza zo špecifikácie JSON ani z parsera — pochádza z požiadavky, aby prehliadač naraz nakreslil obrovské množstvo textu alebo vnoreného UI.
Skutočný postup pre naozaj veľké súbory
Neotvárajte celý súbor nikde v prehliadači. Namiesto toho:
- Najprv vytiahnite len časť, ktorú potrebujete. Ak ladíte jeden pokazený záznam v 200MB výpise, nepotrebujete pred sebou zvyšných 199MB. Nástroje príkazového riadka to zvládnu bez toho, aby celý súbor načítali do pamäte tak, ako to robí karta prehliadača:
# 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 - V prehliadači formátujte len ten fragment. Pár KB extrahovaného JSON-u sa naformátuje okamžite a je skutočne čitateľných — je to ten istý návyk „formátuj len fragment, ktorý ťa zaujíma“, ktorý sa oplatí budovať pri akomkoľvek veľkom logu či výpise, nielen pri tejto konkrétnej chybe.
- Ak potrebujete skúmať štruktúru, nie hodnoty, spustite si najprv lokálne
jq 'keys'alebojq '. | length', aby ste pochopili tvar dát, skôr než sa rozhodnete, čo extrahovať. Nemusíte vidieť 50 000 položiek poľa na to, aby ste vedeli, že pole má 50 000 položiek.
Kedy je nástroj v prehliadači úplne v poriadku
Pri drvivej väčšine reálneho ladenia — API odpoveď, konfiguračný súbor, webhook payload — pracujete s kilobajtmi až niekoľkými megabajtmi, nie so stovkami. V tomto rozsahu je vloženie priamo do formátovača s okamžitým, čitateľným výstupom a presnými pozíciami chýb rýchlejšie než vôbec siahať po príkazovom riadku. Veľkosť, pri ktorej to prestáva fungovať, je oveľa vyššia, než väčšina ľudí predpokladá; skutočné problémy spôsobujú konkrétne „desiatky megabajtov a viac“, nie „viac než jedna stránka“.
Rýchly prehľad
| Veľkosť súboru | Čo robiť |
|---|---|
| Do ~5MB | Vložte priamo do formátovača v prehliadači — okamžité, v pohode |
| ~5–30MB | Stále zvládnuteľné, ale počítajte s krátkou pauzou; formátujte len to, čo potrebujete čítať |
| 30MB+ | Najprv vytiahnite relevantný fragment cez jq/grep a formátujte len ten |
Nástroj na opravu tohto nepotrebuje „režim veľkých súborov“ — riešením je extrakcia pred prezeraním, čo je zmena pracovného postupu, nie obmedzenie nástroja.