§

JSON पेस्ट करें

§

मिनिफाइड आउटपुट

text
§

बचत %

  • मूल आकार
  • मिनिफाइड आकार
  • बचत
  • बचत %

JSON को कम-से-कम साइज़ पर लाना भारतीय API इकोसिस्टम में रोज़ की कसरत है। Razorpay, PhonePe और Paytm की UPI 2.0 mandate-collect API सख़्त RFC 8259 JSON हैं — एक फ़ालतू बाइट NPCI के SLA पर भार डालता है। Aadhaar e-KYC और DigiLocker के signed JSON payload, RBI की Account Aggregator गाइडलाइन और India Stack के OpenAPI spec सभी मिनिफाइड JSON पसंद करते हैं। Flipkart, Myntra और Meesho के मोबाइल ऐप Reliance Jio 4G नेटवर्क पर हज़ारों JSON रिस्पॉन्स भेजते हैं, जहाँ हर kilobyte गिनती में आता है। MeitY के API standards भी compact serialization की सिफ़ारिश करते हैं। यह टूल पूरी तरह ब्राउज़र में चलता है — संवेदनशील payload कभी अपलोड नहीं होते।

JSON मिनिफिकेशन क्या है?

JSON (JavaScript Object Notation) एक हल्का, टेक्स्ट-आधारित डेटा-इंटरचेंज प्रारूप है, जिसे RFC 8259 और ECMA-404 द्वारा परिभाषित किया गया है। मिनिफिकेशन स्ट्रिंग लिटरल के बाहर मौजूद हर स्पेस, टैब और न्यूलाइन हटा देती है — सभी मान बाइट-दर-बाइट संरक्षित रहते हैं, केवल सजावटी व्हाइटस्पेस ही हटता है। आउटपुट उसी मान में पार्स होता है जो इनपुट था।

JSON मिनिफिकेशन कैसे काम करती है?

आपका इनपुट पूरी तरह से आपके ब्राउज़र में बिल्ट-इन JSON.parse और JSON.stringify फ़ंक्शन्स का उपयोग करते हुए संसाधित होता है। मुख्य चरण ये हैं:

  1. आपका इनपुट टेक्स्टएरिया से ज्यों का त्यों पढ़ा जाता है — पेस्ट की गई हर बाइट लोकल मेमोरी में ही रहती है।
  2. ब्राउज़र इसे JSON.parse से पार्स करता है। यदि इनपुट मान्य JSON नहीं है, तो पार्सर एक SyntaxError फेंकता है, जिसे पकड़कर ज्यों का त्यों दिखाया जाता है — आपका टेक्स्ट कभी पेज से बाहर नहीं जाता।
  3. पार्स सफल होने पर, पार्स की गई वैल्यू को बिना इंडेंट आर्ग्युमेंट के JSON.stringify(value) से फिर से उत्सर्जित किया जाता है — यह उसी मान का सबसे छोटा मान्य रूप होता है।
  4. मूल और मिनिफाइड टेक्स्ट दोनों की बाइट लंबाई new TextEncoder().encode(...).byteLength से निकाली जाती है — यही वह UTF-8 बाइट काउंट है जो HTTP सर्वर तार पर देखता।
  5. आउटपुट केवल-पढ़ने योग्य टेक्स्टएरिया में लिखा जाता है, मेट्रिक स्ट्रिप बचत प्रतिशत के साथ बाइट का अंतर दिखाती है, और डाउनलोड बटन परिणाम को एक .min.json फ़ाइल के रूप में पैक करता है जिसे आप शिप कर सकते हैं।

इस टूल से JSON को मिनिफाई क्यों करें?

  • गोपनीयता: हर पार्स, मिनिफाई और मेट्रिक पास आपके ब्राउज़र में होता है। JSON हमारे सर्वर तक कभी नहीं पहुँचता — कोई अपलोड नहीं, कोई टेलेमेट्री नहीं, कोई खाता नहीं।
  • असली बाइट संख्याएँ: मूल आकार, मिनिफाइड आकार और बचत — सब TextEncoder से गणना होती है, इसलिए आप वही UTF-8 बाइट अंतर देखते हैं जिसके लिए CDN या API गेटवे आपसे शुल्क लेगा।
  • शून्य डेटा हानि: मिनिफिकेशन विशुद्ध सजावटी है — हर मान उसी JSON पेड़ में पार्स होता है, इसलिए यह प्रोडक्शन पेलोड्स, मैनिफेस्ट्स और एम्बेडेड फिक्स्चर के लिए सुरक्षित है।
  • तेज़: शुद्ध JSON.parse + JSON.stringify बिना किसी बाहरी लाइब्रेरी के सामान्य क्लिपबोर्ड-आकार के पेलोड्स को तुरंत संभाल लेते हैं।

JSON मिनिफिकेशन के सामान्य अनुप्रयोग क्या हैं?

JSON से ग़ैर-ज़रूरी व्हाइटस्पेस हटाना वेब डेवलपमेंट, डेटा इंजीनियरिंग और एम्बेडेड सिस्टम्स में हर जगह दिखता है:

  • API पेलोड कमी: मीटर्ड API गेटवे, सशुल्क egress लिंक या सैटेलाइट लिंक पार करने से पहले रिक्वेस्ट और रिस्पॉन्स बॉडी छोटी करें।
  • HTML में एम्बेड: JSON ब्लॉब को data-* एट्रिब्यूट या <script type="application/json"> टैग में रखें ताकि प्रिटी-प्रिंटर व्हाइटस्पेस रेंडर किए गए पेज में न लीक हो।
  • छोटा localStorage: प्रिटी-प्रिंट के बजाय मिनिफाइड JSON को localStorage / IndexedDB में लिखें — मोबाइल ब्राउज़र की सख़्त per-origin स्टोरेज सीमा पर यह विशेष रूप से क़ीमती है।

JSON मिनिफिकेशन का उदाहरण कैसा दिखता है?

लगभग 1.2 KB की प्रिटी-प्रिंट की गई कॉन्फ़िग फ़ाइल (दो-स्पेस इंडेंट के साथ ~1,225 बाइट्स) पेस्ट करके मिनिफाई दबाने से वह आमतौर पर 0.4 KB से नीचे आ जाती है — लगभग 66% की बचत — हर key और value ठीक वैसी ही रहती है। डाउनलोड होने वाली output.min.json उस HTTP सर्वर के आउटपुट से बाइट-दर-बाइट मेल खाती है जो बिना किसी फ़ॉर्मेटिंग middleware के Content-Type: application/json भेजता है।

क्या यह वाक़ई मेरे ब्राउज़र में चलता है?

हाँ। मिनिफाई पाइपलाइन ब्राउज़र टैब के भीतर चलने वाली शुद्ध JSON.parse + JSON.stringify है। कुछ भी अपलोड नहीं होता, कोई Service Worker आपके इनपुट को प्रॉक्सी नहीं करता, और मिनिफाई स्टेप स्वयं शून्य नेटवर्क रिक्वेस्ट करता है। एकमात्र आउटबाउंड ट्रैफ़िक है मानक पेज-लोड एसेट्स (CSS, फ़ॉन्ट, एनालिटिक्स) — आपका JSON कभी Ultim8Soft तक नहीं पहुँचता।

JSON को मिनिफाई क्यों करें?

मिनिफाइड JSON प्रिटी-प्रिंटेड सोर्स के समान ही मान में पार्स होता है, लेकिन तार पर और स्टोरेज में छोटा होता है। छोटा पेलोड मतलब कम CDN egress बिल, तेज़ मोबाइल डाउनलोड, Service Worker के अंदर कम मेमोरी दबाव, और JWT पेलोड्स, HTML data-* एट्रिब्यूट्स तथा localStorage कोटे जैसे फ़िक्स्ड-साइज़ envelope में बेहतर फ़िट। हाई-वॉल्यूम APIs में बाइट बचत जुड़ती है — 1 GB/दिन के एंडपॉइंट पर 30% कटौती महीने में लगभग 9 GB बचाती है।

क्या मिनिफिकेशन से डेटा खो जाता है?

नहीं। JSON मिनिफिकेशन केवल वही व्हाइटस्पेस हटाती है जो स्ट्रिंग लिटरल के बाहर है — स्पेस, टैब और न्यूलाइन — जिन्हें स्पेक पहले से ही ग़ैर-ज़रूरी मानती है। हर key, value, संख्या, escape sequence और स्ट्रिंग वर्ण बाइट-दर-बाइट संरक्षित रहता है। आउटपुट उस मान में पार्स होता है जो इनपुट के deepEqual है। केवल सजावटी इंडेंटेशन ग़ायब होता है।

फॉर्मेटर और मिनिफायर में क्या अंतर है?

साथी टूल JSON फॉर्मेटर उल्टी दिशा में चलता है: वह व्हाइटस्पेस फैलाता है ताकि मनुष्य nested संरचनाओं को पढ़ सकें। मिनिफायर उस व्हाइटस्पेस को transport और storage के लिए फिर से हटा देता है। दोनों टूल एक-दूसरे के विपरीत हैं — किसी JSON दस्तावेज़ को फॉर्मेटर → मिनिफायर से गुज़ारने पर वही बाइट-स्ट्रिंग वापस मिलती है जिसे आपने मिनिफायर में डाला था, क्योंकि दोनों पार्स किए हुए मान पर काम करते हैं, सजावटी markup पर नहीं।

यह JSON मिनिफायर वही पार्सर इस्तेमाल करता है जिसे आपका Node.js, Deno या ब्राउज़र रनटाइम इस्तेमाल करता है, और ऐसा आउटपुट देता है जो एक साधारण HTTP सर्वर के उत्सर्जन से बाइट-दर-बाइट मेल खाता है। ऊपर कोई भी JSON पेस्ट करें, आउटपुट कॉपी करें, या .min.json के रूप में डाउनलोड करें।