JSON
जे. एस. ओ. एन. (जावास्क्रिप्ट ऑब्जेक्ट नोटेशन, उच्चारण; भी) एक खुला मानक फ़ाइल प्रारूप और डेटा विनिमय प्रारूप है जो मानव-पठनीय पाठ का उपयोग डेटा वस्तुओं को संग्रहीत करने और संचारित करने के लिए करता है जिसमें विशेषता-मूल्य जोड़े और सरणी (या अन्य क्रमबद्ध मूल्य) होते हैं। यह इलेक्ट्रॉनिक डेटा इंटरचेंज में विविध उपयोगों के साथ एक सामान्य डेटा प्रारूप है, जिसमें सर्वर के साथ वेब अनुप्रयोग भी शामिल हैं। जे. एस. ओ. एन. एक भाषा-स्वतंत्र डेटा प्रारूप है। यह जावास्क्रिप्ट से लिया गया था, लेकिन कई आधुनिक प्रोग्रामिंग भाषाओं में जे. एस. ओ. एन.-प्रारूप डेटा उत्पन्न करने और विश्लेषण करने के लिए कोड शामिल हैं। जे. एस. ओ. एन. फ़ाइलनाम विस्तार. जे. एस. ओ. एन. का उपयोग करते हैं। डगलस क्रॉकफोर्ड ने मूल रूप से 2000 के दशक की शुरुआत में जे. एस. ओ. एन. प्रारूप को निर्दिष्ट किया था। उन्होंने और चिप मॉर्निंगस्टार ने अप्रैल 2001 में पहला जेएसओएन संदेश भेजा। नामकरण और उच्चारण 2017 अंतर्राष्ट्रीय मानक (ईसीएमए-404 और आईएसओ/आईईसी 21778:2017) निर्दिष्ट करता है कि "जे. एस. ओ. एन". का उच्चारण "जेसन और द आर्गोनॉट्स" के रूप में किया जाता है। ईसीएमए-404 के पहले (2013) संस्करण में उच्चारण को संबोधित नहीं किया गया था। यूनिक्स और लिनक्स सिस्टम एडमिनिस्ट्रेशन हैंडबुक में कहा गया है कि "डगलस क्रॉकफोर्ड, जिन्होंने जे. एस. ओ. एन. प्रारूप का नाम रखा और उसे बढ़ावा दिया, कहते हैं कि इसका उच्चारण जेसन नाम की तरह है। लेकिन किसी तरह, "जे-सन" तकनीकी समुदाय में अधिक आम हो गया है। " क्रॉकफोर्ड ने 2011 में कहा था, "आप इसका उच्चारण कैसे करते हैं, इस बारे में बहुत तर्क हैं, लेकिन मुझे इसकी परवाह नहीं है।" 2006 से अपने "सूचनात्मक" विनिर्देश के रूप में उपलब्ध होने के बाद, जे. एस. ओ. एन. को पहली बार 2013 में ईसी. एम. ए.-404 के रूप में मानकीकृत किया गया था। , 2017 में प्रकाशित, इंटरनेट मानक एसटीडी 90 का वर्तमान संस्करण है, और यह ईसीएमए-404 के अनुरूप है। उसी वर्ष जे. एस. ओ. एन. को आई. एस. ओ./आई. ई. सी. 21778:2017 के रूप में भी मानकीकृत किया गया था। ई. सी. एम. ए. और आई. एस. ओ./आई. ई. सी. मानक केवल अनुमत वाक्यविन्यास का वर्णन करते हैं, जबकि आर. एफ. सी. में कुछ सुरक्षा और अंतरसंचालनीयता संबंधी विचार शामिल हैं। जे. एस. ओ. एन. 2000 के दशक की शुरुआत में उपयोग किए जाने वाले प्रमुख तरीकों, फ्लैश या जावा एपलेट जैसे ब्राउज़र प्लगइन्स का उपयोग किए बिना एक वास्तविक समय सर्वर-से-ब्राउज़र सत्र संचार प्रोटोकॉल की आवश्यकता से विकसित हुआ। क्रॉकफोर्ड ने सबसे पहले जे. एस. ओ. एन. प्रारूप को निर्दिष्ट और लोकप्रिय बनाया। संक्षिप्त नाम की उत्पत्ति स्टेट सॉफ्टवेयर में हुई, जो मार्च 2001 में क्रॉकफोर्ड और अन्य लोगों द्वारा सह-स्थापित एक कंपनी थी। सह-संस्थापक एक ऐसी प्रणाली बनाने के लिए सहमत हुए जो मानक ब्राउज़र क्षमताओं का उपयोग करती थी और वेब डेवलपर्स को स्टेटफुल वेब एप्लिकेशन बनाने के लिए एक अमूर्त परत प्रदान करती थी जिसमें दो हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल (एचटीटीपी) कनेक्शन खोलकर एक वेब सर्वर के साथ लगातार डुप्लेक्स कनेक्शन होता था और यदि कोई और डेटा का आदान-प्रदान नहीं किया जाता था तो मानक ब्राउज़र टाइम-आउट से पहले उन्हें रीसाइकिल किया जाता था। सह-संस्थापकों ने एक गोलमेज चर्चा की और मतदान किया कि क्या डेटा प्रारूप जे. एस. एम. एल. (जावास्क्रिप्ट मार्कअप लैंग्वेज) या जे. एस. ओ. एन. (जावास्क्रिप्ट ऑब्जेक्ट नोटेशन) को कॉल करना है, साथ ही साथ इसे किस प्रकार के लाइसेंस के तहत उपलब्ध कराना है। JSON.org वेबसाइट 2001 में शुरू की गई थी। दिसंबर 2005 में, याहू! जे. एस. ओ. एन. में अपनी कुछ वेब सेवाओं की पेशकश शुरू की। जे. एस. ओ. एन. पुस्तकालयों के अग्रदूत का उपयोग कार्टून नेटवर्क के लिए कार्टून ऑर्बिट नामक बच्चों की डिजिटल संपत्ति व्यापार खेल परियोजना में किया गया था (राज्य के सह-संस्थापकों ने पहले इस कंपनी में काम किया था), जिसने डी. एच. टी. एम. एल. तत्वों में हेरफेर करने के लिए एक मालिकाना संदेश प्रारूप के साथ एक ब्राउज़र साइड प्लग-इन का उपयोग किया था (यह प्रणाली 3डीओ के स्वामित्व में भी है)। प्रारंभिक अजाक्स क्षमताओं की खोज पर, डिजीग्रुप, नूश और अन्य ने वेब अनुप्रयोग के दृश्य संदर्भ को ताज़ा किए बिना उपयोगकर्ता ब्राउज़र के दृश्य क्षेत्र में जानकारी पारित करने के लिए फ्रेम का उपयोग किया, केवल मानक एचटीटीपी, एचटीएमएल और जावास्क्रिप्ट क्षमताओं का उपयोग करके वास्तविक समय के समृद्ध वेब अनुप्रयोगों का एहसास किया। क्रॉकफोर्ड ने तब पाया कि जावास्क्रिप्ट का उपयोग ऐसी प्रणाली के लिए ऑब्जेक्ट-आधारित संदेश प्रारूप के रूप में किया जा सकता है। इस प्रणाली को सन माइक्रोसिस्टम्स, Amazon.com और ईडीएस को बेच दिया गया था। जे. एस. ओ. एन. जावास्क्रिप्ट स्क्रिप्टिंग भाषा (विशेष रूप से, मानक ई. सी. एम. ए.-262 तीसरा संस्करण-दिसंबर 1999) के सबसेट पर आधारित था और आमतौर पर जावास्क्रिप्ट के साथ उपयोग किया जाता है, लेकिन यह एक भाषा-स्वतंत्र डेटा प्रारूप है। जे. एस. ओ. एन. डेटा को विश्लेषित करने और उत्पन्न करने के लिए कोड कई प्रोग्रामिंग भाषाओं में आसानी से उपलब्ध है। जे. एस. ओ. एन. की वेबसाइट भाषा के आधार पर जे. एस. ओ. एन. पुस्तकालयों को सूचीबद्ध करती है। अक्टूबर 2013 में, एक्मा इंटरनेशनल ने अपने जे. एस. ओ. एन. मानक ईसीएमए-404 का पहला संस्करण प्रकाशित किया। उसी वर्ष, एक संदर्भ के रूप में ईसीएमए-404 का उपयोग किया गया। 2014 में, जे. एस. ओ. एन. के इंटरनेट उपयोग, स्थानापन्न और (लेकिन मुख्य संदर्भों के रूप में ई. सी. एम. ए.-262 और ई. सी. एम. ए.-404 को संरक्षित करते हुए) के लिए मुख्य संदर्भ बन गया। नवंबर 2017 में, आईएसओ/आईईसी जेटीसी 1/एससी 22 ने आईएसओ/आईईसी 21778:2017 को एक अंतरराष्ट्रीय मानक के रूप में प्रकाशित किया। 13 दिसंबर 2017 को, इंटरनेट इंजीनियरिंग टास्क फोर्स ने इसे प्रकाशित किया, जो इंटरनेट मानक एसटीडी 90 का वर्तमान संस्करण है। क्रॉकफोर्ड ने जे. एस. ओ. एन. लाइसेंस में एक खंड जोड़ा जिसमें कहा गया था कि "सॉफ्टवेयर का उपयोग अच्छाई के लिए किया जाएगा, बुराई के लिए नहीं", ताकि जे. एस. ओ. एन. पुस्तकालयों को ओपन-सोर्स किया जा सके, जबकि कॉर्पोरेट वकीलों और अत्यधिक पांडित्यपूर्ण लोगों का मजाक उड़ाया जा सके। दूसरी ओर, इस खंड ने अन्य ओपन-सोर्स लाइसेंसों के साथ जे. एस. ओ. एन. लाइसेंस की लाइसेंस संगतता समस्याओं को जन्म दिया, क्योंकि ओपन-सोर्स सॉफ्टवेयर और फ्री सॉफ्टवेयर आमतौर पर उपयोग के उद्देश्य पर कोई प्रतिबंध नहीं लगाते हैं। वाक्यविन्यास निम्नलिखित उदाहरण किसी व्यक्ति का वर्णन करने वाले संभावित जे. एस. ओ. एन. प्रतिनिधित्व को दर्शाता है। {"प्रथम नाम": "जॉन", "अंतिम नाम": "स्मिथ", "जीवित है": सही, "आयु": 27, "पता": {"सड़क का पता": "21 दूसरी सड़क", "शहर": "न्यूयॉर्क", "राज्य": "एनवाई", "पोस्टल कोड": "10021-3100", "फोन नंबर": [{"प्रकार": "घर", "संख्या": "212 555-1234", {"प्रकार": "कार्यालय", "संख्या": "646 555-4567"], "बच्चे": ["कैथरीन", "थॉमस", "ट्रेवर"], यह जे. एस. ओ. एन. द्वारा केवल "नियंत्रण वर्णों" की अनुमति न देने का एक परिणाम है। अधिकतम पोर्टेबिलिटी के लिए, इन वर्णों को बैकस्लैश-एस्केप किया जाना चाहिए। एक खुले पारिस्थितिकी तंत्र में जे. एस. ओ. एन. विनिमय को यू. टी. एफ.-8 में कूटबद्ध किया जाना चाहिए। एन्कोडिंग पूर्ण यूनिकोड वर्ण समूह का समर्थन करती है, जिसमें बुनियादी बहुभाषी विमान (यू + 0000 से यू + एफ. एफ. एफ. एफ.) के बाहर के वर्ण शामिल हैं। हालाँकि, यदि बच जाते हैं, तो उन वर्णों को यूटीएफ-16 सरोगेट जोड़े का उपयोग करके लिखा जाना चाहिए। उदाहरण के लिए, जे. एस. ओ. एन. में इमोजी वर्ण को शामिल करने के लिएः {"चेहरा": "")// या {"चेहरा": "\uD83D\uDE10"} जे. एस. ओ. एन. भाषा के 2019 के संशोधन के अनुसार ई. सी. एम. ए. एस. स्क्रिप्ट का एक सख्त उपसमुच्चय बन गया। डेटा प्रकार जे. एस. ओ. एन. के मूल डेटा प्रकार हैंः संख्याः एक हस्ताक्षरित दशमलव संख्या जिसमें एक आंशिक भाग हो सकता है और घातीय ई संकेतन का उपयोग कर सकता है, लेकिन इसमें गैर-संख्या जैसे एन. ए. एन. शामिल नहीं हो सकते हैं। प्रारूप पूर्णांक और फ़्लोटिंग-पॉइंट के बीच कोई अंतर नहीं करता है। जावास्क्रिप्ट अपने सभी संख्यात्मक मूल्यों के लिए आई. ई. ई. ई.-754 डबल-प्रिसिशन फ्लोटिंग-पॉइंट प्रारूप का उपयोग करता है (बाद में बिगइन्ट का भी समर्थन करता है), लेकिन जे. एस. ओ. एन. को लागू करने वाली अन्य भाषाएं संख्याओं को अलग-अलग तरीके से कूटबद्ध कर सकती हैं। स्ट्रिंगः शून्य या अधिक यूनिकोड वर्णों का एक अनुक्रम। स्ट्रिंग्स को दोहरे उद्धरण चिह्नों के साथ सीमांकित किया जाता है और वाक्यविन्यास से बचने वाले बैकस्लैश का समर्थन करते हैं। बूलियनः मानों में से कोई भी सही या गलत सरणीः शून्य या अधिक तत्वों की एक क्रमबद्ध सूची, जिनमें से प्रत्येक किसी भी प्रकार का हो सकता है। सरणी अल्पविराम से अलग किए गए तत्वों के साथ वर्ग कोष्ठक संकेतन का उपयोग करती है। वस्तुः नाम-मूल्य जोड़े का एक संग्रह जहां नाम (जिन्हें कुंजी भी कहा जाता है) स्ट्रिंग हैं। वर्तमान ई. सी. एम. ए. मानक में कहा गया हैः "जे. एस. ओ. एन. वाक्यविन्यास नामों के रूप में उपयोग किए जाने वाले तारों पर कोई प्रतिबंध नहीं लगाता है, नाम के तारों को अद्वितीय होने की आवश्यकता नहीं है, और नाम/मूल्य जोड़े के क्रम को कोई महत्व नहीं देता है।" वस्तुओं को घुंघराले कोष्ठक के साथ सीमांकित किया जाता है और प्रत्येक जोड़ी को अलग करने के लिए अल्पविराम का उपयोग किया जाता है, जबकि प्रत्येक जोड़ी के भीतर कोलन ':' वर्ण कुंजी या नाम को उसके मूल्य से अलग करता है। शून्यः एक खाली मान, शून्य व्हाइटस्पेस शब्द का उपयोग करने की अनुमति है और वाक्यविन्यास तत्वों (मान और विराम चिह्न, लेकिन स्ट्रिंग मान के भीतर नहीं) के आसपास या उनके बीच अनदेखा किया जाता है। इस उद्देश्य के लिए चार विशिष्ट वर्णों को सफेद स्थान माना जाता हैः स्थान, क्षैतिज टैब, लाइन फीड और कैरिज रिटर्न। विशेष रूप से, बाइट ऑर्डर मार्क एक अनुरूप कार्यान्वयन द्वारा उत्पन्न नहीं किया जाना चाहिए (हालांकि इसे जे. एस. ओ. एन. को पार्स करते समय स्वीकार किया जा सकता है)। जे. एस. ओ. एन. टिप्पणियों के लिए वाक्यविन्यास प्रदान नहीं करता है। जे. एस. ओ. एन. के प्रारंभिक संस्करणों (जैसे द्वारा निर्दिष्ट) के लिए आवश्यक था कि एक वैध जे. एस. ओ. एन. पाठ में केवल एक वस्तु या एक सरणी प्रकार होना चाहिए, जिसमें उनके भीतर अन्य प्रकार शामिल हो सकते हैं। इस प्रतिबंध को हटा दिया गया था, जहां एक जे. एस. ओ. एन. पाठ को किसी भी क्रमबद्ध मूल्य के रूप में पुनर्परिभाषित किया गया था। जे. एस. ओ. एन. में संख्याएँ प्रोग्रामिंग भाषाओं के भीतर उनके प्रतिनिधित्व के संबंध में अज्ञेयवादी हैं। जबकि यह मनमाने ढंग से सटीकता की संख्या को क्रमबद्ध करने की अनुमति देता है, यह पोर्टेबिलिटी के मुद्दों को जन्म दे सकता है। उदाहरण के लिए, चूंकि पूर्णांक और फ़्लोटिंग-पॉइंट मानों के बीच कोई अंतर नहीं किया जाता है, इसलिए कुछ कार्यान्वयन 42,42.0 और 4.2E + 1 को एक ही संख्या के रूप में मान सकते हैं, जबकि अन्य नहीं कर सकते हैं। जे. एस. ओ. एन. मानक अतिप्रवाह, अधोप्रवाह, परिशुद्धता के नुकसान, गोल, या हस्ताक्षरित शून्य जैसे कार्यान्वयन विवरणों के संबंध में कोई आवश्यकता नहीं बनाता है, लेकिन यह "अच्छी अंतरसंचालनीयता" के लिए आई. ई. ई. ई. 754 द्विआधारी 64 परिशुद्धता से अधिक की उम्मीद नहीं करने की सलाह देता है। एक फ़्लोटिंग-पॉइंट संख्या (जैसे बाइनरी64) के मशीन-स्तर के द्विआधारी प्रतिनिधित्व को मानव-पठनीय दशमलव प्रतिनिधित्व (जैसे जे. एस. ओ. एन. में संख्या) में क्रमबद्ध करने में कोई अंतर्निहित परिशुद्धता हानि नहीं है, क्योंकि ऐसा करने के लिए प्रकाशित एल्गोरिदम मौजूद हैं। टिप्पणियों को जानबूझकर जे. एस. ओ. एन. से बाहर रखा गया था। 2012 में, डगलस क्रॉकफोर्ड ने अपने डिजाइन निर्णय का वर्णन इस प्रकार कियाः "मैंने जे. एस. ओ. एन. से टिप्पणियों को हटा दिया क्योंकि मैंने देखा कि लोग उनका उपयोग पार्सिंग निर्देशों को रखने के लिए कर रहे थे, एक ऐसी प्रथा जो अंतरसंचालनीयता को नष्ट कर देती।" जे. एस. ओ. एन. "ट्रेलिंग अल्पविराम" की अनुमति नहीं देता है, जो एक डेटा संरचना के अंदर अंतिम मूल्य के बाद अल्पविराम है। उपयोग में आसानी में सुधार के लिए जे. एस. ओ. एन. व्युत्पन्न की एक सामान्य विशेषता ट्रेलिंग अल्पविराम है। शब्दार्थ जबकि जे. एस. ओ. एन. डेटा आदान-प्रदान के लिए एक वाक्यात्मक ढांचा प्रदान करता है, स्पष्ट डेटा आदान-प्रदान के लिए जे. एस. ओ. एन. वाक्यविन्यास के विशिष्ट उपयोग के शब्दार्थ पर निर्माता और उपभोक्ता के बीच समझौते की भी आवश्यकता होती है। इस तरह के समझौते की आवश्यकता का एक उदाहरण जावास्क्रिप्ट वाक्यविन्यास द्वारा परिभाषित डेटा प्रकारों का क्रमिककरण है जो जे. एस. ओ. एन. मानक का हिस्सा नहीं हैं, जैसे, तिथि, कार्य, नियमित अभिव्यक्ति, और अनिर्धारित। इंटरऑपरेबिलिटी आर. एफ. सी. 8259 जे. एस. ओ. एन. वाक्यविन्यास के कुछ पहलुओं का वर्णन करता है, जो विनिर्देशों के अनुसार कानूनी होने के बावजूद, इंटरऑपरेबिलिटी समस्याओं का कारण बन सकते हैं। कुछ जे. एस. ओ. एन. कार्यान्वयन केवल जे. एस. ओ. एन. ग्रंथों को स्वीकार करते हैं जो किसी वस्तु या सरणी का प्रतिनिधित्व करते हैं। इंटरऑपरेबिलिटी के लिए, जे. एस. ओ. एन. का आदान-प्रदान करने वाले अनुप्रयोगों को संदेशों को प्रसारित करना चाहिए जो ऑब्जेक्ट या ऐरे हैं। विनिर्देश जे. एस. ओ. एन. वस्तुओं को अनुमति देते हैं जिनमें एक ही नाम के कई सदस्य होते हैं। डुप्लिकेट नामों के साथ वस्तुओं को संसाधित करने के कार्यान्वयन का व्यवहार अप्रत्याशित है। इंटरऑपरेबिलिटी के लिए, जे. एस. ओ. एन. वस्तुओं को संचारित करते समय अनुप्रयोगों को डुप्लिकेट नामों से बचना चाहिए। विनिर्देश विशेष रूप से कहते हैं कि जे. एस. ओ. एन. वस्तुओं में सदस्यों का क्रम महत्वपूर्ण नहीं है। इंटरऑपरेबिलिटी के लिए, अनुप्रयोगों को सदस्य के ऑर्डर का अर्थ निर्धारित करने से बचना चाहिए, भले ही पार्सिंग सॉफ़्टवेयर उस ऑर्डर को दिखाई दे। जबकि विनिर्देश जे. एस. ओ. एन. संख्या अक्षरों के परिमाण या परिशुद्धता पर कोई सीमा नहीं रखते हैं, व्यापक रूप से उपयोग किए जाने वाले जावास्क्रिप्ट कार्यान्वयन उन्हें आई. ई. ई. ई. 754 "द्विआधारी 64" मात्राओं के रूप में संग्रहीत करता है। इंटरऑपरेबिलिटी के लिए, अनुप्रयोगों को उन संख्याओं को प्रसारित करने से बचना चाहिए जिन्हें इस तरह से दर्शाया नहीं जा सकता है, उदाहरण के लिए 1E400 या 3.141592653589793238462643383279। जबकि विनिर्देश एक जे. एस. ओ. एन. पाठ में यूनिकोड वर्णों के चरित्र एन्कोडिंग को बाधित नहीं करते हैं, अधिकांश कार्यान्वयन यू. टी. एफ.-8 एन्कोडिंग मानते हैं; अंतरसंचालनीयता के लिए, अनुप्रयोगों को हमेशा और केवल जे. एस. ओ. एन. संदेशों को यू. टी. एफ.-8 में एन्कोड करना चाहिए। विनिर्देश उन बाइट अनुक्रमों को संचारित करने से मना नहीं करते हैं जो यूनिकोड वर्णों का सही ढंग से प्रतिनिधित्व नहीं करते हैं। इंटरऑपरेबिलिटी के लिए, अनुप्रयोगों को ऐसे संदेशों को प्रसारित करना चाहिए जिनमें ऐसे कोई बाइट अनुक्रम न हों। विनिर्देशन इस बात को बाधित नहीं करता है कि अनुप्रयोग यूनिकोड स्ट्रिंग्स की तुलना कैसे करते हैं। इंटरऑपरेबिलिटी के लिए, अनुप्रयोगों को हमेशा कोड इकाई द्वारा ऐसी तुलना कोड इकाई का प्रदर्शन करना चाहिए। 2015 में, आई. ई. टी. एफ. ने आर. एफ. सी. 7493 प्रकाशित किया, जिसमें "आई-जे. एस. ओ. एन. संदेश प्रारूप" का वर्णन किया गया, जे. एस. ओ. एन. की एक प्रतिबंधित रूपरेखा है जो जे. एस. ओ. एन. के वाक्यविन्यास और प्रसंस्करण को यथासंभव, इन अंतरसंचालनीयता मुद्दों से बचने के लिए बाधित करती है। मेटाडेटा और स्कीमा जे. एस. ओ. एन. पाठ के लिए आधिकारिक एम. आई. एम. ई. प्रकार "एप्लीकेशन/जे. एस. ओ. एन". है, और अधिकांश आधुनिक कार्यान्वयनों ने इसे अपनाया है। अनौपचारिक एम. आई. एम. ई. प्रकार "टेक्स्ट/जे. एस. एन". या सामग्री-प्रकार "टेक्स्ट/जावास्क्रिप्ट" भी कई सेवा प्रदाताओं, ब्राउज़रों, सर्वरों, वेब अनुप्रयोगों, पुस्तकालयों, ढांचे और ए. पी. आई. द्वारा विरासत कारणों से समर्थित हैं। उल्लेखनीय उदाहरणों में गूगल सर्च एपीआई, याहू!, फ्लिकर, फेसबुक एपीआई, लिफ्ट फ्रेमवर्क और डोजो टूलकिट शामिल हैं। जे. एस. ओ. एन. योजना सत्यापन, प्रलेखन और अंतःक्रिया नियंत्रण के लिए जे. एस. ओ. एन. डेटा की संरचना को परिभाषित करने के लिए जे. एस. ओ. एन.-आधारित प्रारूप को निर्दिष्ट करती है। यह किसी दिए गए अनुप्रयोग द्वारा आवश्यक जे. एस. ओ. एन. डेटा के लिए एक अनुबंध प्रदान करता है, और उस डेटा को कैसे संशोधित किया जा सकता है। जे. एस. ओ. एन. योजना एक्स. एम. एल. योजना (एक्स. एस. डी.) की अवधारणाओं पर आधारित है लेकिन जे. एस. ओ. एन. आधारित है। एक्स. एस. डी. की तरह, योजना और डेटा दोनों के लिए एक ही क्रमबद्धीकरण/विलयन उपकरण का उपयोग किया जा सकता है, और यह स्व-वर्णन है। यह आई. ई. टी. एफ. में एक इंटरनेट मसौदे में निर्दिष्ट है, जो वर्तमान में 2020-12 मसौदे में है, जिसे 28 जनवरी, 2021 को जारी किया गया था। विभिन्न प्रोग्रामिंग भाषाओं के लिए कई सत्यापनकर्ता उपलब्ध हैं, जिनमें से प्रत्येक में अनुरूपता के अलग-अलग स्तर हैं। मानक फ़ाइलनाम विस्तार. json है। जे. एस. ओ. एन. मानक वस्तु संदर्भों का समर्थन नहीं करता है, लेकिन जे. एस. ओ. एन.-आधारित वस्तु संदर्भों के लिए एक आई. ई. टी. एफ. मसौदा मानक मौजूद है। जे. एस. ओ. एन.-आर. पी. सी. एक दूरस्थ प्रक्रिया कॉल (आर. पी. सी.) प्रोटोकॉल है जिसे जे. एस. ओ. एन. पर एक्स. एम. एल.-आर. पी. सी. या एस. ओ. ए. पी. के प्रतिस्थापन के रूप में बनाया गया है। यह एक सरल प्रोटोकॉल है जो केवल कुछ मुट्ठी भर डेटा प्रकारों और आदेशों को परिभाषित करता है। जे. एस. ओ. एन.-आर. पी. सी. एक प्रणाली को अधिसूचनाएँ (सर्वर को जानकारी जिसे प्रतिक्रिया की आवश्यकता नहीं है) और सर्वर को कई कॉल भेजने देता है जिनका क्रम से बाहर जवाब दिया जा सकता है। अतुल्यकालिक जावास्क्रिप्ट और जे. एस. ओ. एन. (या ए. जे. ए. जे.) एजेक्स के समान गतिशील वेब पृष्ठ पद्धति को संदर्भित करता है, लेकिन एक्स. एम. एल. के बजाय, जे. एस. ओ. एन. डेटा प्रारूप है। एजेएजे एक वेब विकास तकनीक है जो वेब ब्राउज़र में लोड होने के बाद नए डेटा का अनुरोध करने के लिए एक वेबपेज की क्षमता प्रदान करती है। आमतौर पर यह उस वेबपेज पर उपयोगकर्ता के कार्यों के जवाब में सर्वर से नया डेटा प्रस्तुत करता है। उदाहरण के लिए, उपयोगकर्ता खोज बॉक्स में क्या टाइप करता है, क्लाइंट-साइड कोड फिर सर्वर को भेजता है, जो तुरंत मिलान करने वाले डेटाबेस आइटम की ड्रॉप-डाउन सूची के साथ प्रतिक्रिया देता है। जे. एस. ओ. एन. ने तदर्थ उपयोग को एक विन्यास भाषा के रूप में देखा है। हालाँकि, यह टिप्पणियों का समर्थन नहीं करता है। 2012 में, जे. एस. ओ. एन. के निर्माता डगलस क्रॉकफोर्ड ने जे. एस. ओ. एन. में टिप्पणियों के बारे में यह कहा था जब एक विन्यास भाषा के रूप में उपयोग किया गया थाः "मुझे पता है कि टिप्पणियों की कमी कुछ लोगों को दुखी करती है, लेकिन ऐसा नहीं होना चाहिए। मान लीजिए कि आप कॉन्फ़िगरेशन फ़ाइलों को रखने के लिए जे. एस. ओ. एन. का उपयोग कर रहे हैं, जिन्हें आप एनोटेट करना चाहते हैं। आगे बढ़ें और अपनी पसंद की सभी टिप्पणियाँ डालें। फिर इसे अपने जे. एस. ओ. एन. पार्सर को सौंपने से पहले जे. एस. एम. आई. एन. के माध्यम से पाइप करें। मोंगोडीबी अपने दस्तावेज़-उन्मुख डेटाबेस के लिए जे. एस. ओ. एन. जैसे डेटा का उपयोग करता है। कुछ संबंधपरक डेटाबेस, जैसे पोस्टग्रेएसक्यूएल और माईएसक्यूएल, ने देशी जे. एस. ओ. एन. डेटा प्रकारों के लिए समर्थन जोड़ा है। यह डेवलपर्स को जे. एस. ओ. एन. डेटा को किसी अन्य डेटा प्रारूप में परिवर्तित किए बिना सीधे संबंधपरक डेटाबेस में संग्रहीत करने की अनुमति देता है। सुरक्षा जे. एस. ओ. एन. जावास्क्रिप्ट का एक उपसमुच्चय होने के कारण यह गलत धारणा पैदा हो सकती है कि जे. एस. ओ. एन. ग्रंथों को जावास्क्रिप्ट मूल्यांकन () कार्य में पारित करना सुरक्षित है। यह कुछ वैध जे. एस. ओ. एन. ग्रंथों के कारण सुरक्षित नहीं है, विशेष रूप से जिनमें 2019 में जावास्क्रिप्ट विनिर्देशों को अद्यतन किए जाने तक वैध जावास्क्रिप्ट कोड है या नहीं है, और इसलिए पुराने इंजन इसका समर्थन नहीं कर सकते हैं। इंटरनेट से मनमाने कोड को निष्पादित करने के कारण होने वाले कई नुकसानों से बचने के लिए, एक नया कार्य, पहली बार ईसीएमएस्क्रिप्ट के पांचवें संस्करण में जोड़ा गया था, जो 2017 तक सभी प्रमुख ब्राउज़रों द्वारा समर्थित है। गैर-समर्थित ब्राउज़रों के लिए, डगलस क्रॉकफोर्ड द्वारा एक एपीआई-संगत जावास्क्रिप्ट पुस्तकालय प्रदान किया जाता है। इसके अलावा, टी. सी. 39 प्रस्ताव "सबस्यूम जे. एस. ओ. एन". ने भाषा के 2019 के संशोधन के रूप में ई. सी. एम. स्क्रिप्ट को एक सख्त जे. एस. ओ. एन. सुपरसेट बना दिया। विभिन्न जे. एस. ओ. एन. पार्सर कार्यान्वयन सेवा-निषेध हमले और सामूहिक असाइनमेंट भेद्यता से पीड़ित हैं। वैकल्पिक जे. एस. ओ. एन. को एक्स. एम. एल. के एक लो-ओवरहेड विकल्प के रूप में प्रचारित किया जाता है क्योंकि इन दोनों प्रारूपों में वास्तविक दुनिया की स्थितियों में निर्माण, पढ़ने और डिकोडिंग के लिए व्यापक समर्थन है जहां वे आमतौर पर उपयोग किए जाते हैं। एक्स. एम. एल. के अलावा, उदाहरणों में सी. एस. वी. और जे. एस. ओ. एन. के सुपरसेट शामिल हो सकते हैं। इसके अलावा, गूगल प्रोटोकॉल बफर्स इस भूमिका को निभा सकते हैं, हालांकि यह डेटा इंटरचेंज भाषा नहीं है। एक्स. एम. एल. एक्स. एम. एल. का उपयोग संरचित डेटा का वर्णन करने और वस्तुओं को क्रमबद्ध करने के लिए किया गया है। समान प्रकार के डेटा आदान-प्रदान उद्देश्यों के लिए जे. एस. ओ. एन. के समान प्रकार की डेटा संरचनाओं का प्रतिनिधित्व करने के लिए विभिन्न एक्स. एम. एल.-आधारित प्रोटोकॉल मौजूद हैं। डेटा को एक्स. एम. एल. में कई तरीकों से कूटबद्ध किया जा सकता है। टैग जोड़े का उपयोग करने वाले सबसे विस्तृत रूप के परिणामस्वरूप जे. एस. ओ. एन. की तुलना में बहुत बड़ा (वर्ण गणना में) प्रतिनिधित्व होता है, लेकिन यदि डेटा को विशेषताओं और 'लघु टैग' रूप में संग्रहीत किया जाता है जहां समापन टैग को बदल दिया जाता है, तो प्रतिनिधित्व अक्सर जे. एस. ओ. एन. के समान आकार का होता है या थोड़ा बड़ा होता है। हालांकि, एक एक्स. एम. एल. विशेषता का केवल एक ही मूल्य हो सकता है और प्रत्येक विशेषता प्रत्येक तत्व पर अधिक से अधिक एक बार दिखाई दे सकती है। एक्स. एम. एल. "डेटा" को "मेटाडेटा" (तत्वों और विशेषताओं के उपयोग के माध्यम से) से अलग करता है, जबकि जे. एस. ओ. एन. में ऐसी अवधारणा नहीं है। एक अन्य महत्वपूर्ण अंतर मूल्यों को संबोधित करना है। जे. एस. ओ. एन. में एक साधारण "कुंजी" से "मूल्य" मानचित्रण के साथ वस्तुएँ होती हैं, जबकि एक्स. एम. एल. संबोधन "नोड्स" पर होता है, जो सभी एक्स. एम. एल. प्रोसेसर के माध्यम से एक अद्वितीय आई. डी. प्राप्त करते हैं। इसके अतिरिक्त, एक्स. एम. एल. मानक एक सामान्य विशेषता को परिभाषित करता है, जिसका उपयोग उपयोगकर्ता द्वारा एक आई. डी. को स्पष्ट रूप से सेट करने के लिए किया जा सकता है। एक्स. एम. एल. टैग नामों में कोई भी वर्ण नहीं हो सकता है! "#$% & '() * +,/; <=>? @[\] '{।} ~, न ही एक स्थान वर्ण, और एक संख्यात्मक अंक के साथ शुरू नहीं हो सकता है, जबकि जे. एस. ओ. एन. कुंजी (भले ही उद्धरण चिह्न और बैकस्लैश से बचा जाना चाहिए)। एक्स. एम. एल. मान वर्णों के तार हैं, जिनमें कोई अंतर्निहित प्रकार की सुरक्षा नहीं है। एक्स. एम. एल. में योजना की अवधारणा है, जो मजबूत टाइपिंग, उपयोगकर्ता-परिभाषित प्रकार, पूर्वनिर्धारित टैग और औपचारिक संरचना की अनुमति देती है, जिससे एक्स. एम. एल. धारा के औपचारिक सत्यापन की अनुमति मिलती है। जे. एस. ओ. एन. में कई प्रकार अंतर्निहित हैं और जे. एस. ओ. एन. योजना में एक समान योजना अवधारणा है। एक्स. एम. एल. टिप्पणियों का समर्थन करता है जबकि जे. एस. ओ. एन. नहीं करता है। टिप्पणियों और अन्य विशेषताओं के लिए सुपरसेट समर्थन को उपयोगी माना गया है, जिसके कारण कई गैर-मानक जे. एस. ओ. एन. सुपरसेट बनाए गए हैं। उनमें से एचजेएसओएन, होकोन और जेएसओएन5 हैं (जो अपने नाम के बावजूद, जेएसओएन का पांचवां संस्करण नहीं है)। YAML YAML संस्करण 1.2 जे. एस. ओ. एन. का एक सुपरसेट है; पूर्व संस्करण कड़ाई से संगत नहीं थे। उदाहरण के लिए, बैकस्लैश के साथ स्लैश से बचना जे. एस. ओ. एन. में मान्य है, लेकिन वाई. ए. एम. एल. में मान्य नहीं था। वाईएएमएल टिप्पणियों का समर्थन करता है, जबकि जेएसओएन नहीं करता है। सी. एस. ओ. एन. सी. एस. ओ. एन. ("कर्सिव स्क्रिप्ट ऑब्जेक्ट नोटेशन"), आर. एफ. सी. 4627 द्वारा निर्दिष्ट जे. एस. ओ. एन. के ए. बी. एन. एफ. व्याकरण में छोटे व्याकरण परिवर्धन के रूप में परिभाषित किया गया है। वाई. ए. एम. एल. की तरह, यह जे. एस. ओ. एन. का एक सख्त सुपरसेट है। वाई. ए. एम. एल. के विपरीत, प्रत्येक सी. एस. ओ. एन. डेटा का जे. एस. ओ. एन. में आगे-पीछे अनुवाद किया जा सकता है, इसलिए कोई भी ऐसी लाइब्रेरी का उपयोग करना जारी रख सकता है जो केवल जे. एस. ओ. एन. को समझती है, और किसी को मौजूदा जे. एस. ओ. एन. का अनुवाद करने की आवश्यकता नहीं है। इस तरह के जे. एस. ओ. एन. समतुल्यता के अलावा, डिजाइन पर विचार थेः लेखन में आसानी, यह टिप्पणियों का समर्थन करता है, एकल + दोहरे उद्धृत तार, कई पंक्तियों में तार, अनावश्यक अल्पविराम। पार्सिंग में आसानी, यह एल. एल. (1) है और स्पष्ट रूप से संदर्भ संवेदनशीलता से बचाता है। जावास्क्रिप्ट के लिए असंगतता सख्त नहीं है, इसलिए एचटीटीपी पर सीएसओएन से बचें। सफेद स्थान महत्वपूर्ण नहीं हैं। वाई. ए. एम. एल. की तरह, सख्त स्ट्रिंग, कोई डेटा प्रकार नहीं, जैसे कि टी. ओ. एम. एल.। अतिरिक्त डेटा प्रकार एक डेटा प्रारूप कार्य नहीं होना चाहिए, और प्रत्येक कार्यान्वयन को कठिन बना देगा। सी, जावास्क्रिप्ट, पायथन और रस्ट के लिए पुस्तकालय मौजूद हैं। होकोन होकोन ("मानव-अनुकूलित कॉन्फ़िग ऑब्जेक्ट नोटेशन" मानव-पठनीय डेटा के लिए एक प्रारूप है, और जे. एस. ओ. एन. का एक सुपरसेट है। होकोन के उपयोग हैंः इसका उपयोग मुख्य रूप से प्ले फ्रेमवर्क के साथ किया जाता है, और इसे लाइटबेंड द्वारा विकसित किया गया है। यह Akka.NET और कठपुतली के माध्यम से. NET परियोजनाओं के लिए एक विन्यास प्रारूप के रूप में भी समर्थित है। टीआईबीसीओ स्ट्रीमिंगः टीआईबीसीओ स्ट्रीमिंग रिलीज 10 के अनुसार होकोन उत्पादों के टीआईबीसीओ स्ट्रीमिंग परिवार (स्ट्रीमबेस, लाइवव्यू और आर्टिफैक्ट मैनेजमेंट सर्वर) के लिए प्राथमिक कॉन्फ़िगरेशन फ़ाइल प्रारूप है। यह एक्जेबीम एडवांस्ड एनालिटिक्स के कई सबसिस्टम के लिए प्राथमिक विन्यास फ़ाइल प्रारूप भी है। जित्सी इसे "नए" विन्यास प्रणाली के रूप में उपयोग करता है और. प्रॉपर्टीज-फाइल्स को फॉलबैक के रूप में JSON5 JSON5 ("JSON5 डेटा इंटरचेंज फॉर्मेट") JSON वाक्यविन्यास का एक विस्तार है जो JSON की तरह ही वैध जावास्क्रिप्ट वाक्यविन्यास भी है। विनिर्देशन 2012 में शुरू किया गया था और 2018 में संस्करण 1.0 के साथ समाप्त हुआ था। जे. एस. ओ. एन. वाक्यविन्यास में मुख्य अंतर हैंः वैकल्पिक पीछे की ओर अल्पविराम उद्धृत वस्तु कुंजी एकल उद्धृत और बहु-पंक्ति स्ट्रिंग्स अतिरिक्त संख्या प्रारूप टिप्पणियां जे. एस. ओ. एन. 5 वाक्यविन्यास कुछ सॉफ्टवेयर में जे. एस. ओ. एन. वाक्यविन्यास के विस्तार के रूप में समर्थित है, उदाहरण के लिए एस. क्यू. एल. आई. टी. में। जे. एस. ओ. एन. सी. जे. एस. ओ. एन. सी. के समान एक प्रारूप है, जिसका उपयोग मुख्य रूप से माइक्रोसॉफ्ट द्वारा किया जाता है जिसे "जे. एस. ओ. एन. सी". (टिप्पणियों के साथ जे. एस. ओ. एन.) कहा जाता है। टिप्पणियों के साथ जे. एस. ओ. एन. का विश्लेषण करें वृत्ताकार संदर्भों के साथ स्ट्रिंगिफ़ाई ऑब्जेक्ट्स एकल पंक्ति (//) का उपयोग करते हैं और साथ ही ब्लॉक टिप्पणियों (/* */) का उपयोग करते हैं जो पिछले अल्पविराम को स्वीकार करते हैं, लेकिन वे हतोत्साहित होते हैं और संपादक एक चेतावनी व्युत्पन्न प्रदर्शित करेगा। जे. एस. ओ. एन. विनिर्देश पर या उससे कई क्रमबद्धीकरण प्रारूप बनाए गए हैं। उदाहरणों में शामिल हैं जियोजेसन, सरल भौगोलिक विशेषताओं का प्रतिनिधित्व करने के लिए डिज़ाइन किया गया प्रारूप जे. एस. ओ. एन. → यू. आर. एल., जे. एस. ओ. एन. डेटा मॉडल जे. एस. ओ. एन.-एल. डी. के लिए एक भाषा-स्वतंत्र डेटा इंटरचेंज प्रारूप, जे. एस. ओ. एन. जे. एस. ओ. एन.-आर. पी. सी. का उपयोग करके लिंक किए गए डेटा को एन्कोडिंग करने की एक विधि, जे. एस. ओ. एन. जे. एस. एन. एम. एल. में एन्कोडेड एक दूरस्थ प्रक्रिया कॉल प्रोटोकॉल, एक हल्की मार्कअप भाषा जिसका उपयोग एक्स. एम. एल. और जे. एस. ओ. एन. स्माइल (डेटा इंटरचेंज प्रारूप) के बीच मानचित्र बनाने के लिए किया जाता है। यू. बी. जे. एस. ओ. एन., जे. एस. ओ. एन. की नकल करने वाला एक द्विआधारी कंप्यूटर डेटा इंटरचेंज प्रारूप है, लेकिन डेटा के कम बाइट्स की आवश्यकता होती है।