JSON Toolkit

Browser कितनी बड़ी JSON फ़ाइल संभाल सकता है

मुख्य बात: कोई निश्चित सीमा नहीं है; बाधा आपके tab का memory बजट है। 20MB फ़ाइल parse होने के बाद आमतौर पर 60–100MB बन जाती है, और highlighted DOM उसे दोबारा दोगुना कर सकता है।

शुरुआती~3 मिनट पढ़ें2026-10-30 को प्रकाशित2026-10-30 को अपडेट किया गया
बड़े JSON के साथ काम करते समय browser की memory सीमाएँ

मुख्य बात: कोई निश्चित ऊपरी सीमा नहीं है — memory से अनुमान लगाएँ, क्योंकि parsed object आमतौर पर टेक्स्ट आकार का 3–5 गुना लेता है और highlighted DOM उसे दोबारा दोगुना कर देता है; 50MB से ऊपर, या जब top-level record गिनती लाखों में पहुँचे, तो tab में ज़बरदस्ती करने के बजाय slice करें, stream करें या लोकल ऐप पर चले जाएँ।

Memory कहाँ जाती है

20MB का JSON टेक्स्ट तीन बार मौजूद होता है:

  1. कच्ची string: 20MB
  2. Parsed object graph: आमतौर पर 60–100MB (डुप्लिकेट strings, object headers, hash tables)
  3. Highlighted DOM: हर token के लिए एक node, आसानी से दोबारा 2x

Editor buffers, undo stacks और syntax-highlight caches अतिरिक्त हैं। एक "20MB फ़ाइल" 200MB से अधिक resident ले सकती है।

अंगूठे के नियम

आकार Desktop Mobile
< 5MB सहज सहज
5–20MB हल्की देरी, format में 1–3s स्पष्ट देरी, freeze हो सकता है
20–50MB चल सकती है पर भारी; highlighting बंद करें संभवतः crash
> 50MB सिफ़ारिश नहीं उपयोग योग्य नहीं

ये device, browser संस्करण और highlighting चालू होने पर बदलते हैं। इन्हें परिमाण के क्रम के लिए उपयोग करें, गारंटी के रूप में नहीं।

अधिक RAM इसे क्यों नहीं ठीक करती

Tabs की एक कठोर सीमा है, और उसे पार करने का मतलब सहज क्षरण के बजाय तत्काल crash है। Mobile और भी सख़्त है, कुछ सौ megabytes के निचले हिस्से में ही पुनःप्राप्ति कर लेता है।

बड़ी फ़ाइलों के साथ काम करना

इसे slice करें।

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

इसे stream करें। stream-json, ijson, jq --stream record-दर-record process करते हैं और memory फ़ाइल आकार से स्वतंत्र रहती है।

लोकल ऐप उपयोग करें। कोई tab सीमा नहीं, पूरी मशीन की memory: desktop download।

फ़ॉर्मैट बदलें। Logs और event streams शुरू से NDJSON होने चाहिए — प्रति पंक्ति एक record, संरचना से ही streamable।

Backend से कम करने को कहें। अगर UI को तीन फ़ील्ड चाहिए, तो तीन सौ भेजना API डिज़ाइन की समस्या है, browser की सीमा नहीं।

अपनी फ़ाइल का आकार नापें

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

अगर length लाखों में है, तो byte आकार चाहे जो हो, जवाब pagination या streaming है।

FAQ

पता कैसे चले कि मेरी फ़ाइल किस आकार की श्रेणी में है?

ls -lh से bytes और jq 'length' से top-level record गिनती देखें। कुछ megabytes से कम फ़ाइलें हर जगह सहज चलती हैं, 20–50MB desktop पर चलती है पर अटकती है, और 50MB से ऊपर stream करें या command-line टूल उपयोग करें।

50MB से बड़ी फ़ाइल के साथ क्या करूँ?

head -c से slice करें, या jq, stream-json या jq --stream से stream करें ताकि memory फ़ाइल आकार से स्वतंत्र रहे। अगर पूरा document देखना है, तो desktop ऐप उपयोग करें, जो tab के memory बजट से बंधा नहीं है। Logs और event streams वैसे भी NDJSON में होने चाहिए।

आगे पढ़ें