JSON Toolkit

כמה גדול קובץ JSON יכול דפדפן לעבד

שורה תחתונה: אין מגבלה קבועה; האילוץ הוא תקציב הזיכרון של הטאב. קובץ של 20MB הופך בדרך כלל ל-60–100MB אחרי פירוס, וה-DOM המודגש יכול להכפיל זאת שוב.

מתחילכ-3 דקות קריאהפורסם 2026-10-30עודכן 2026-10-30
מגבלות זיכרון של הדפדפן בעבודה עם JSON גדול

שורה תחתונה: אין תקרה קבועה — העריכו לפי זיכרון, כי האובייקט המפורס עולה בדרך כלל פי 3–5 מגודל הטקסט וה-DOM המודגש מכפיל זאת שוב; מעל 50MB, או כשמספר הרשומות ברמה העליונה מגיע למאות אלפים, חתכו, עשו streaming או עברו לאפליקציה מקומית במקום לדחוס את זה לטאב.

לאן הולך הזיכרון

טקסט JSON של 20MB קיים בשלושה עותקים:

  1. המחרוזת הגולמית: 20MB
  2. גרף האובייקטים המפורס: בדרך כלל 60–100MB (מחרוזות משוכפלות, כותרות אובייקטים, טבלאות hash)
  3. ה-DOM המודגש: צומת אחד לכל token, בקלות עוד פי 2

מאגרי עורכים, מחסניות undo ומטמוני הדגשת תחביר הם תוספת. "קובץ של 20MB" יכול לעבור 200MB בזיכרון תושב.

כללי אצבע

גודל שולחן עבודה מובייל
< 5MB חלק חלק
5–20MB השהיה קלה, 1–3 שניות לעיצוב השהיה מורגשת, עשוי לקפוא
20–50MB אפשרי אבל כבד; כבו הדגשה כנראה קריסה
> 50MB לא מומלץ לא שמיש

אלה משתנים לפי מכשיר, גרסת דפדפן והאם ההדגשה דלוקה. השתמשו בהם לסדרי גודל, לא כערובות.

למה עוד RAM לא פותר את זה

לטאבים יש מגבלה קשיחה, וחריגה ממנה פירושה קריסה מיידית ולא ירידה הדרגתית. מובייל מחמיר עוד יותר, ומחזיר זיכרון במאות נמוכות של מגה-בייט.

עבודה עם קבצים גדולים

חתכו אותו.

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

עשו streaming. stream-json, ijson, jq --stream מעבדים רשומה-אחר-רשומה עם זיכרון בלתי תלוי בגודל הקובץ.

השתמשו באפליקציה מקומית. בלי מגבלות טאב, עם זיכרון המכונה המלא: הורדת גרסת השולחן.

שנו את הפורמט. לוגים וזרמי אירועים צריכים להיות NDJSON מההתחלה — רשומה אחת לשורה, זורמים לפי מבנה.

בקשו מהבקאנד לצמצם. אם ה-UI צריך שלושה שדות, שליחת שלוש מאות היא בעיית עיצוב API, לא מגבלה של דפדפן.

הערכת גודל הקובץ שלכם

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

אם length במאות אלפים, pagination או streaming הם התשובה בלי קשר לגודל הבייטים.

שאלות ותשובות

איך יודעים לאיזו רצועת גודל הקובץ שלי נופל?

בדקו את הבייטים עם ls -lh ואת מספר הרשומות ברמה העליונה עם jq 'length'. קבצים מתחת לכמה מגה-בייט חלקים בכל מקום, 20–50MB עובד בשולחן עבודה אבל מגמגם, ומעל 50MB כדאי לעשות streaming או להשתמש בכלי שורת פקודה.

מה לעשות עם קובץ מעל 50MB?

חתכו אותו עם head -c, או עשו לו streaming עם jq, stream-json או jq --stream כך שהזיכרון יישאר בלתי תלוי בגודל הקובץ. אם צריך לבדוק את המסמך כולו, השתמשו באפליקציית השולחן, שאינה מוגבלת בתקציב הזיכרון של טאב. לוגים וזרמי אירועים שייכים בכל מקרה ל-NDJSON.

קריאה נוספת