JSON Toolkit

Jak velký soubor JSON zvládne prohlížeč

Shrnutí: Neexistuje žádný pevný limit; omezením je paměťový rozpočet vaší záložky. 20MB soubor obvykle po parsování zabere 60–100 MB a zvýrazněný DOM to může znovu zdvojnásobit.

Začátečník~3 min čteníPublikováno 2026-10-30Aktualizováno 2026-10-30
Paměťové limity prohlížeče při práci s velkým JSON

Stručně: pevný strop neexistuje – odhadujte podle paměti, protože parsovaný objekt obvykle stojí 3–5násobek velikosti textu a zvýrazněný DOM to znovu zdvojnásobí; nad 50 MB, nebo když počet záznamů na nejvyšší úrovni jde do stovek tisíc, raději krájejte, streamujte nebo přejděte k lokální aplikaci, místo abyste to nutili do záložky.

Kam jde paměť

20MB text JSON existuje třikrát:

  1. Surový řetězec: 20 MB
  2. Parsovaný graf objektů: obvykle 60–100 MB (duplikované řetězce, hlavičky objektů, hash tabulky)
  3. Zvýrazněný DOM: jeden uzel na token, snadno další 2x

Buffery editoru, zásoby pro undo a caches zvýrazňování jsou navíc. „20MB soubor“ může přesáhnout 200 MB v paměti.

Orientační pravidla

Velikost Desktop Mobil
< 5 MB Plynulé Plynulé
5–20 MB Mírné zpoždění, 1–3 s na formátování Znatelné zpoždění, může zamrznout
20–50 MB Použitelné, ale těžké; vypněte zvýrazňování Pravděpodobně havárie
> 50 MB Nedoporučuje se Nepoužitelné

Tyto hodnoty se posouvají podle zařízení, verze prohlížeče a toho, zda je zapnuté zvýrazňování. Používejte je pro řád odhadu, nikoli jako záruku.

Proč to nepomůže, když přidáte RAM

Záložky mají tvrdý limit a jeho překročení znamená okamžitou havárii, nikoli elegantní degradaci. Mobil je ještě přísnější a uvolňuje paměť už v řádu stovek MB.

Práce s velkými soubory

Krájejte.

head -c 1048576 big.json | jq .
jq '.items[0:100]' big.json

Streamujte. stream-json, ijson, jq --stream zpracovávají záznam po záznamu s pamětí nezávislou na velikosti souboru.

Použijte lokální aplikaci. Žádné limity záložky, plná paměť stroje: stažení desktopové aplikace.

Změňte formát. Logy a proud událostí mají být NDJSON od začátku – jeden záznam na řádek, streamovatelné z podstaty.

Požádejte backend, aby data zúžil. Pokud UI potřebuje tři pole, posílat tři sta je problém návrhu API, nikoli limit prohlížeče.

Změření souboru

ls -lh data.json
jq 'length' data.json

Pokud je length ve stovkách tisíc, odpovědí je stránkování nebo streamování bez ohledu na počet bajtů.

Časté dotazy

Jak zjistit, do které velikostní kategorie můj soubor patří?

Zkontrolujte bajty pomocí ls -lh a počet záznamů na nejvyšší úrovni pomocí jq 'length'. Soubory pod několik MB jsou plynulé všude, 20–50 MB funguje na desktopu, ale zadrhává, a nad 50 MB byste měli streamovat nebo použít nástroj příkazového řádku.

Co mám dělat se souborem nad 50 MB?

Nakrájejte ho pomocí head -c, nebo streamujte pomocí jq, stream-json nebo jq --stream, aby paměť zůstala nezávislá na velikosti souboru. Pokud potřebujete prohlédnout celý dokument, použijte desktopovou aplikaci, která není svázána paměťovým rozpočtem záložky. Logy a proud událostí stejně patří do NDJSON.

Další čtení