JSON क्या है? शुरुआती लोगों के लिए एक गाइड
यदि आप वेब डेवलपमेंट में अपनी यात्रा शुरू कर रहे हैं, तो आपने शायद पहले से ही JSON का अनगिनत बार सामना किया है, भले ही आप नहीं जानते थे कि यह क्या था। JSON, जो JavaScript Object Notation के लिए खड़ा है, विभिन्न एप्लिकेशन के बीच डेटा ट्रांसमिट करने के लिए सबसे व्यापक रूप से उपयोग किया जाने वाला फॉर्मेट है। सोशल मीडिया पर आपके द्वारा पढ़े जाने वाले ट्वीट्स से लेकर आपके फोन पर मौसम डेटा तक, JSON सब कुछ संभव बनाने के लिए पर्दे के पीछे काम कर रहा है।
JSON सरल शब्दों में
JSON को विभिन्न कंप्यूटर सिस्टम्स के बीच डेटा के लिए एक यूनिवर्सल ट्रांसलेटर के रूप में सोचें। जिस तरह मनुष्यों ने अंतर्राष्ट्रीय व्यापार में एक आम भाषा के रूप में अंग्रेजी का उपयोग करने के लिए सहमति व्यक्त की है, कंप्यूटर और एप्लिकेशन ने बड़े पैमाने पर जानकारी के आदान-प्रदान के लिए एक सामान्य फॉर्मेट के रूप में JSON का उपयोग करने के लिए सहमति व्यक्त की है। लेकिन इससे पहले आने वाले विकल्पों की तुलना में JSON को क्या विशेष बनाता है? इसके मूल में, JSON डेटा को टेक्स्ट के रूप में लिखने का एक तरीका है जो विशिष्ट नियमों का पालन करता है। ये नियम इतने सरल हैं कि मनुष्य और कंप्यूटर दोनों इसे आसानी से पार्स कर सकते हैं। जब आप एक JSON फाइल देखते हैं, तो आप केवल कुछ बेसिक एलिमेंट्स का उपयोग करके एक स्पष्ट, पदानुक्रमित स्ट्रक्चर में व्यवस्थित डेटा देखेंगे: ऑब्जेक्ट्स के लिए कर्ली ब्रेसेस {}, लिस्ट्स के लिए स्क्वायर ब्रैकेट्स [], नेम्स को वैल्यू से अलग करने के लिए कोलन और आइटम्स को अलग करने के लिए कॉमाज। इसके पूर्ववर्ती XML के विपरीत, जो <name>राज</name> जैसे वर्बोस ओपनिंग और क्लोजिंग टैग्स का उपयोग करता था, JSON एक क्लीनर सिंटैक्स का उपयोग करता है: {"name": "राज"}। यह सरलता एक प्रमुख कारण है कि JSON इतना लोकप्रिय हो गया है। यह कम अव्यवस्थित है, लिखने में आसान है, और नेटवर्क पर ट्रांसमिट होने पर कम जगह लेता है। JSON वास्तविक दुनिया की अवधारणाओं को स्वाभाविक रूप से दर्शाता है। एक व्यक्ति को नाम, उम्र और ईमेल जैसी प्रॉपर्टीज वाले एक ऑब्जेक्ट के रूप में दर्शाया जा सकता है। एक शॉपिंग कार्ट प्रोडक्ट ऑब्जेक्ट्स की एक एरे हो सकती है। एक कंपनी कर्मचारियों और विभागों की एरे वाला एक ऑब्जेक्ट हो सकती है। वास्तविक दुनिया की संस्थाओं और JSON स्ट्रक्चर्स के बीच यह स्वाभाविक मैपिंग इसे काम करने के लिए इतना सहज बनाती है। अपने नाम में 'JavaScript' होने के बावजूद, JSON पूरी तरह से भाषा-स्वतंत्र है। हर प्रमुख प्रोग्रामिंग लैंग्वेज में JSON पार्स और जेनरेट करने के लिए बिल्ट-इन सपोर्ट है। Python में json है, Java में Jackson और Gson है, PHP में json_encode और json_decode है, और JavaScript स्वाभाविक रूप से JSON के साथ काम करता है क्योंकि सिंटैक्स इसके ऑब्जेक्ट लिटरल नोटेशन पर आधारित है। यह यूनिवर्सल सपोर्ट एक और कारण है कि JSON डेटा इंटरचेंज के लिए डी-फैक्टो स्टैंडर्ड बन गया है।
JSON क्यों लोकप्रिय है
डेटा इंटरचेंज की दुनिया में JSON का प्रभुत्व में उदय संयोग से नहीं हुआ। यह डेवलपर्स के सामने आने वाली वास्तविक समस्याओं के समाधान के रूप में उभरा, और यह फलता-फूलता रहता है क्योंकि यह उन समस्याओं को विकल्पों से बेहतर हल करता है। इससे पहले कि JSON व्यापक हो जाता, XML वेब सेवाओं के बीच डेटा एक्सचेंज के लिए प्राथमिक फॉर्मेट था। जबकि XML शक्तिशाली और लचीला है, यह महत्वपूर्ण ओवरहेड के साथ आता है। XML डॉक्यूमेंट्स को प्रोसेसिंग इंस्ट्रक्शन्स, नेमस्पेसेस, एट्रिब्यूट बनाम एलिमेंट्स डिसिजन और जटिल DOM या SAX पार्सर्स के साथ पार्सिंग की आवश्यकता होती है। सरल डेटा एक्सचेंज के लिए, यह ओवरकिल था। डेवलपर्स कुछ हल्का चाहते थे। JSON ने वह लाइटवेट अल्टरनेटिव प्रदान किया। XML में यूजर्स की लिस्ट रिटर्न करने वाला एक REST API ओपनिंग और क्लोजिंग टैग्स के साथ दर्जनों लाइनों की आवश्यकता हो सकती है, जबकि JSON में समान डेटा को स्पेस के एक अंश में दर्शाया जा सकता है। पेलोड साइज में यह कमी सीधे तेज नेटवर्क ट्रांसफर और कम बैंडविड्थ कॉस्ट में अनुवाद करती है, विशेष रूप से मोबाइल एप्लिकेशन के लिए महत्वपूर्ण जहां हर किलोबाइट मायने रखता है। पार्सिंग स्टोरी समान रूप से सम्मोहक है। JavaScript में, JSON पार्सिंग अनिवार्य रूप से फ्री है क्योंकि JSON.parse() एक स्ट्रिंग को तुरंत एक नेटिव JavaScript ऑब्जेक्ट में बदल देता है। इसे XML पार्सिंग से तुलना करें, जिसके लिए एक पार्सर ऑब्जेक्ट बनाने, नोड टाइप्स को हैंडल करने और एक डॉक्यूमेंट ट्री को नेविगेट करने की आवश्यकता होती है। अन्य भाषाओं में भी, JSON पार्सिंग आमतौर पर XML पार्सिंग से सरल और तेज़ है। JSON की सरलता डेवलपर्स के लिए सीखने की अवस्था को भी कम करती है। एक जूनियर डेवलपर मिनटों में JSON के सिंटैक्स को समझ सकता है: की-वैल्यू पेयर्स वाले ऑब्जेक्ट्स, वैल्यू की एरे और कुछ डेटा टाइप्स (स्ट्रिंग्स, नंबर्स, बूलियन, null)। DTD, XPath, XSLT या दर्जनों अन्य तकनीकों के बारे में सीखने की कोई आवश्यकता नहीं है जो अक्सर XML के साथ आती हैं। REST APIs और सिंगल-पेज एप्लिकेशन के उदय ने JSON के फलने-फूलने के लिए परफेक्ट एनवायरनमेंट बनाया। जैसे ही वेब एप्लिकेशन एसिंक्रोनस रूप से डेटा फेच करने और क्लाइंट साइड पर रेंडर करने की ओर शिफ्ट हुए, डेवलपर्स को एक ऐसे फॉर्मेट की आवश्यकता थी जिसके साथ JavaScript सहजता से काम कर सके। JSON वह फॉर्मेट था। आज, JSON हर जगह है। यह लगभग हर वेब API के लिए रिस्पॉन्स फॉर्मेट है। यह MongoDB और CouchDB जैसे डॉक्यूमेंट डेटाबेस के लिए स्टोरेज फॉर्मेट है। यह Node.js पैकेजेज (package.json), TypeScript (tsconfig.json), VS Code सेटिंग्स और अनगिनत अन्य टूल्स के लिए कॉन्फ़िगरेशन फॉर्मेट है। JSON सीखना केवल उपयोगी नहीं है, यह आधुनिक सॉफ़्टवेयर डेवलपमेंट के लिए आवश्यक है।
टूल आज़माएं
JSON फॉर्मेटर