JSON क्या है?
JSON (JavaScript Object Notation) संरचित डेटा का टेक्स्ट फ़ॉर्मेट है जो ऑब्जेक्ट, ऐरे, स्ट्रिंग, नंबर, बूलियन और null से बनता है। इसे RFC 8259 और ECMA-404 परिभाषित करते हैं; यह भाषा-स्वतंत्र है और वेब API का डिफ़ॉल्ट फ़ॉर्मेट है क्योंकि यह कॉम्पैक्ट, पढ़ने योग्य और पार्स करने में आसान है।
JSON मिनिफ़ायर कैसे इस्तेमाल करें
- फ़ॉर्मेट किया हुआ JSON पेस्ट करें।
- कॉम्पैक्ट वर्ज़न बचत के आँकड़ों के साथ तुरंत दिखता है।
- उसे कॉपी करें या minified.json डाउनलोड करें।
JSON मिनिफ़ायर की खूबियाँ
- हर ग़ैर-ज़रूरी स्पेस कैरेक्टर हटा देता है
- मूल साइज़, मिनिफ़ाइड साइज़ और बचत का प्रतिशत दिखाता है
- इनपुट वैलिडेट करता है और सिंटैक्स गलतियाँ लाइन व कॉलम के साथ बताता है
- लाइव मिनिफ़िकेशन, कॉपी और डाउनलोड के साथ
JSON मिनिफ़ायर का उदाहरण
कॉन्फ़िगरेशन फ़ाइल को कॉम्पैक्ट करना
इनपुट:
{
"service": "inventory",
"replicas": 3,
"ports": [8080, 8443]
}आउटपुट:
{"service":"inventory","replicas":3,"ports":[8080,8443]}JSON मिनिफ़ायर के बारे में अक्सर पूछे जाने वाले सवाल
क्या मिनिफ़ाई करने से डेटा बदलता है?
नहीं। सिर्फ़ स्ट्रिंग के बाहर के ग़ैर-ज़रूरी स्पेस हटाए जाते हैं। वैल्यू, कीज़ का क्रम और स्ट्रिंग का कंटेंट बिल्कुल वैसा ही रहता है।
मुझे कितनी जगह बचेगी?
इंडेंट किए डॉक्यूमेंट में आमतौर पर 20–40%। टूल मूल साइज़, मिनिफ़ाइड साइज़ और बचत का प्रतिशत दिखाता है।
क्या मिनिफ़ाइड JSON अब भी वैध रहता है?
हाँ। JSON में स्पेस वैकल्पिक होते हैं, इसलिए कॉम्पैक्ट आउटपुट पूरी तरह मानक के अनुरूप है और हर लाइब्रेरी से पार्स हो जाता है।
क्या मैं कमेंट वाला JSON मिनिफ़ाई कर सकता हूँ?
कमेंट JSON का हिस्सा नहीं हैं, इसलिए पार्सर उन्हें अस्वीकार कर देता है। मिनिफ़ाई करने से पहले कमेंट हटा दें (या JSON5 समझने वाला टूल इस्तेमाल करें)।
तकनीकी नोट्स
यह minifier whitespace नहीं हटाता, दोबारा serialize करता है: टेक्स्ट JSON.parse से पार्स होकर JSON.stringify से वापस लिखा जाता है। डिकोड किया डेटा वही रहता है, पर बाइट स्रोत से अलग हो सकते हैं — \u00e9 और \/ escape असली अक्षर बनते हैं, 1.0 बनता है 1, 1E2 बनता है 100, -0 बनता है 0, duplicate keys में आख़िरी वैल्यू बचती है, और 2^53 − 1 से बड़े integer लिखने से पहले गोल होते हैं।
साइज़ UTF-8 बाइट में एक छोटे हाथ से लिखे counter से नापा जाता है (हर code point के 1–4 बाइट), जबकि 'chars' hint वह UTF-16 लंबाई दिखाता है जो JavaScript का .length देता है; हिंदी, अरबी या emoji टेक्स्ट में दोनों अलग निकलते हैं। प्रतिशत एक दशमलव तक गोल होता है, आउटपुट छोटा न हो तो नोट दिखता है, और runtime 2 MB से बड़े फ़ील्ड को इंजन चलने से पहले ही रोक देता है।
संदर्भ
- RFC 8259: The JavaScript Object Notation (JSON) Data Interchange FormatJSON का व्याकरण: ऑब्जेक्ट, ऐरे, स्ट्रिंग, नंबर, तीन लिटरल और इंटरचेंज एन्कोडिंग के रूप में UTF-8।
- ECMA-404: The JSON Data Interchange SyntaxEcma मानक के रूप में JSON सिंटैक्स, RFC 8259 के अनुरूप।
- Introducing JSONJSON का मूल एक-पृष्ठ विवरण, सिंटैक्स डायग्राम के साथ।