JSON फ़ॉर्मैटर के पीछे की कहानी
आज ज़्यादातर वेब API JSON का उपयोग करते हैं, फिर भी इसे किसी समिति ने नहीं बनाया। इसका आविष्कार कम और खोज अधिक हुई: यह JavaScript का एक छोटा हिस्सा था जो प्रोग्रामों के बीच डेटा भेजने के लिए बिल्कुल पर्याप्त निकला।
एक खोजा गया फ़ॉर्मैट
लगभग 2001 में Douglas Crockford और State Software में उनके साथी ऐसा तरीका ढूँढ रहे थे जिससे ब्राउज़र और सर्वर बिना प्लगइन के डेटा का आदान प्रदान कर सकें। उन्होंने JavaScript में पहले से समझे जाने वाले ऑब्जेक्ट और ऐरे लिटरल का उपयोग किया, इस विचार को नाम दिया और व्याकरण json.org पर रखा, जो इतना छोटा है कि विज़िटिंग कार्ड के पीछे आ जाए।
टिप्पणियाँ क्यों नहीं हैं
Crockford ने शुरुआत में ही JSON से टिप्पणियाँ हटा दीं, क्योंकि लोग उनमें पार्सर के लिए निर्देश रखने लगे थे, जिससे अंतरसंचालनीयता टूट जाती। उनकी सलाह थी कि पार्स करने से पहले मिनिफ़ायर से टिप्पणियाँ हटा दें। इसलिए फ़ॉर्मैटर टिप्पणी को अनपेक्षित अक्षर बताता है, और इसलिए कॉन्फ़िगरेशन फ़ाइलों के लिए JSON5 और JSONC जैसे फ़ॉर्मैट मौजूद हैं।
वेब पेज से मानक तक
JSON का पहला वर्णन 2006 में RFC 4627 में हुआ। Ecma ने 2013 में ECMA-404 प्रकाशित किया, और IETF ने 2017 में पुराने पाठों की जगह RFC 8259 लाया, जो सिस्टमों के बीच भेजे जाने वाले JSON के लिए UTF-8 अनिवार्य करता है। json.org के बाद से व्याकरण लगभग नहीं बदला: ऑब्जेक्ट, ऐरे, स्ट्रिंग, संख्याएँ, true, false और null।
संख्याएँ और पाथ
JSON स्वयं संख्याओं को सीमित नहीं करता, लेकिन ज़्यादातर पार्सर उन्हें 64 बिट फ़्लोटिंग पॉइंट के रूप में रखते हैं, इसलिए 9007199254740991 से बड़े पूर्णांक चुपचाप सटीकता खो सकते हैं। इसी कारण बड़ी ID अक्सर स्ट्रिंग के रूप में भेजी जाती हैं। किसी मान की ओर इशारा करने के लिए Stefan Goessner ने 2007 में XPath से प्रेरित JSONPath प्रस्तावित किया, जो 2024 में RFC 9535 मानक बना। यह फ़ॉर्मैटर जो पाथ कॉपी करता है, वे डॉलर चिह्न और वर्गाकार कोष्ठक वाली उसी लिखावट का पालन करते हैं।
अक्सर पूछे जाने वाले प्रश्न
JSON का आविष्कार किसने किया?
Douglas Crockford ने 2000 के दशक की शुरुआत में JSON को परिभाषित और लोकप्रिय किया, हालाँकि वे कहते हैं कि उन्होंने इसे खोजा, क्योंकि यह JavaScript का पहले से मौजूद हिस्सा है।
JSON अंत में कॉमा या एकल उद्धरण चिह्न की अनुमति क्यों नहीं देता?
व्याकरण को जितना हो सके उतना छोटा रखा गया ताकि हर भाषा इसे एक ही तरह से पार्स करे। हर अतिरिक्त सुविधा दो पार्सरों के असहमत होने का एक और मौका होती।
क्या JSON और JavaScript ऑब्जेक्ट एक ही हैं?
नहीं। JSON पाठ है। कुंजियों के लिए दोहरे उद्धरण चिह्न ज़रूरी हैं, और फ़ंक्शन, undefined, टिप्पणियाँ, NaN और Infinity की अनुमति नहीं है, भले ही JavaScript कोड में उन्हें स्वीकार करता हो।
आज़माने के लिए तैयार?
अपने ब्राउज़र में PictorX खोलें — शुरू करने के लिए इंस्टॉल या क्रेडिट कार्ड की ज़रूरत नहीं।
JSON फ़ॉर्मैटर खोलें