Parsing, rendering e streaming di JSON di grandi dimensioni
Il parsing spesso non è il collo di bottiglia; lo sono il rendering e le copie. Ottimizza lungo i quattro strati "parse → traverse → render → transport" così il tuo sforzo non va sprecato.
Un file JSON di decine di megabyte può bloccare il thread principale, e un JSON accuratamente costruito può trapassare un servizio; questa categoria copre sia il throughput sia le difese.
6 articoliIl parsing spesso non è il collo di bottiglia; lo sono il rendering e le copie. Ottimizza lungo i quattro strati "parse → traverse → render → transport" così il tuo sforzo non va sprecato.
JSON.parse stesso è sicuro; il pericolo è ciò che accade dopo: deep merge, assegnazione per percorso, incorporamento in HTML, profondità e dimensione illimitate.
Il minify riduce del 30-50% il JSON grezzo, ma gzip cancella la maggior parte di quel guadagno. Numeri misurati su forme reali, più i quattro casi in cui il minify peggiora le cose.
Un file JSON da 10 MB può diventare 30-50 MB nell'heap di V8. Scopri quanto costano davvero stringhe, oggetti e numeri, come stabilire una baseline con process.memoryUsage e quando lo streaming aiuta.
Gli scatti iniziano quando vengono creati i nodi DOM, non quando scorri. Copre rendering con compressione prima, liste virtuali, evidenziazione della ricerca e confini dei Worker, con metriche.
Un export JSON di decine di MB blocca spesso editor di testo e strumenti online, mentre il parsing richiede solo poche centinaia di millisecondi. Abbiamo misurato tempo e memoria a ogni stadio su un campione da 45 MB e 500.000 record, mostrato che il costo reale sta nel numero di righe e nodi, e costruito una tabella di scelta degli strumenti per dimensione: visualizzazione online, estrazione da riga di comando, streaming e app desktop.