JSON क्या है? सिंटैक्स, प्रकार, और API के लिए डेटा एक्सचेंज

JSON क्या है? सिंटैक्स, प्रकार, और API के लिए डेटा एक्सचेंज

Scrapeless Scraping API कार्य-विशिष्ट इंटरफेस प्रदान करता है जो एप्लिकेशन वर्कफ्लो के लिए JSON में संरचित सार्वजनिक वेब डेटा लौट सकता है।

TL;DR

  • JSON संरचित डेटा एक्सचेंज के लिए एक पाठ प्रारूप है। यह वस्तुओं, Arrays, स्ट्रिंग्स, नंबर, बूलियन, और नल का प्रतिनिधित्व करता है।
  • JSON भाषा-स्वतंत्र है। इसकी संकेतन JavaScript से आई है, लेकिन पार्सर और जनरेटर प्रोग्रामिंग पारिस्थितिकी तंत्र में मौजूद हैं।
  • वैधीकरण सिंटैक्स मान्य व्यावसायिक डेटा की गारंटी नहीं देता है। स्कीमा और एप्लिकेशन चेक आवश्यक फ़ील्ड, श्रेणियाँ, प्रारूप, और रिश्ते को लागू करना चाहिए।
  • वस्तुएँ नाम और मानों का असंगठित संग्रह होती हैं। एप्लिकेशनों को सदस्य के क्रम को अर्थ नहीं देना चाहिए।
  • इंटरऑपरेबिलिटी को अनुशासित संख्या और पाठ हैंडलिंग की जरूरत है। Unicode, डुप्लिकेट नाम, बड़े पूर्णांक, दशमलव सटीकता, और दिनांक स्ट्रिंग्स को स्पष्ट परंपराओं की आवश्यकता होती है।

JSON परिभाषित

JSON, या JavaScript ऑब्जेक्ट नोटेशन, एक हल्का-फुल्का, पाठ-आधारित, भाषा-स्वतंत्र डेटा-परिवर्तन प्रारूप है। यह ऑब्जेक्ट, Arrays, स्ट्रिंग्स, नंबर, सत्य और असत्य के लिटरल, और नल के साथ छोटे व्याकरण से संरचित मानों का प्रतिनिधित्व करता है। JSON व्यापक रूप से वेब API अनुरोधों, प्रतिक्रियाओं, कॉन्फ़िगरेशन, लॉग, घटनाओं, और संग्रहीत दस्तावेजों के लिए उपयोग किया जाता है क्योंकि मनुष्य इसे निरीक्षण कर सकते हैं और अधिकांश भाषाएँ इसे पार्स कर सकती हैं।

नियामक IETF JSON विनिर्देश, RFC 8259 एक JSON पाठ को एक अनुक्रमित मूल्य के रूप में परिभाषित करता है और इंटरऑपरेबिलिटी मार्गदर्शन प्रदान करता है। JSON निष्पादन योग्य JavaScript नहीं है, मानक व्याकरण में टिप्पणियों का समर्थन नहीं करता है, और तिथियों, बाइनरी मानों, सेट, मानचित्रों को गैर-स्ट्रींग चाबियों के साथ, या एप्लिकेशन-विशिष्ट प्रकारों को परिभाषित नहीं करता है। इन अर्थों को सहमत स्कीमा या परंपरा द्वारा प्रस्तुत करके दिखाया जाना चाहिए।

JSON डेटा का प्रतिनिधित्व कैसे करता है

What Is JSON के पीछे की मेकैनिक्स एक से अधिक सॉफ़्टवेयर या नेटवर्क सीमा को पार करती हैं। प्रत्येक चरण का नामकरण प्रदर्शन, सटीकता, और सुरक्षा समीक्षाओं को ठोस बनाता है।

वस्तुएँ और सदस्य के नाम

एक वस्तु को ब्रेसेस द्वारा सीमांकित किया जाता है और इसमें नाम-मूल्य सदस्य होते हैं। नाम स्ट्रिंग होते हैं। विनिर्देश वस्तु नामों का वर्णन असंगठित रूप में करता है, इसलिए उपभोक्ताओं को स्थिति के बजाय नाम द्वारा सदस्यों तक पहुँच प्राप्त करना चाहिए। अद्वितीय नाम सबसे इंटरऑपरेबल व्यवहार पैदा करते हैं क्योंकि डुप्लिकेट-नाम हैंडलिंग भिन्न होती है।

Arrays और मान

एक Array को ब्रैकेट्स द्वारा सीमांकित किया गया एक क्रमबद्ध अनुक्रम होता है। प्रत्येक स्थिति में कोई भी JSON मान हो सकता है, जिसमें एक अन्य Array या वस्तु भी शामिल हो सकती है। Arrays तब अच्छी तरह से काम करते हैं जब क्रम महत्वपूर्ण हो या जब कई रिकॉर्ड एक वैचारिक संग्रह साझा करते हैं।

Strings, संख्या, और लिटेरल

Strings नियंत्रण पात्र और विशेष पात्रों के लिए उद्धरण चिह्न और एस्केप नियमों का उपयोग करते हैं। संख्याएँ NaN या Infinity के बिना दशमलव व्याकरण का उपयोग करती हैं। बूलियन लिटेरल और नल छोटे अक्षरों में होते हैं। पार्सर इन मानों को होस्ट-भाषा के प्रकारों में मैप करते हैं, जिनकी सटीकता सीमाएँ भिन्न हो सकती हैं।

JSON मान और एप्लिकेशन का अर्थ

टीम अक्सर एक लेबल पर सहमत होती हैं जबकि भिन्न व्यवहार मानती हैं। ये पंक्तियाँ What Is JSON को स्पष्ट अनुबंध और संचालन के प्रश्नों में बदल देती हैं।

धारणाअर्थव्यावहारिक संकेत
वस्तुJSON मानों के साथ नामित सदस्य।एक रिकॉर्ड, कॉन्फ़िगरेशन वस्तु, या कुंजी संबंध।
Arrayआयोजित मान।रिकॉर्ड, निर्देशांक, या अनुक्रम की सूची।
StringJSON एस्केपिंग नियमों का उपयोग करके यूनिकोड पाठ।नाम, पहचानकर्ता, परंपरा के अनुसार अंकन, और मानव पाठ।
संख्यादशमलव संख्या सिंटैक्स।गणना, माप, या सहमति की गई सटीकता के भीतर राशियाँ।
Boolean और नलसत्य मान और एक स्पष्ट रूप से नल लिटेरल।झंडे और स्पष्ट रूप से अनुपस्थित या अज्ञात मान जब स्कीमा अर्थ को परिभाषित करता है।

जहाँ JSON अच्छी तरह से काम करता है।

अपनाने या अनुकूलित करने का सबसे मजबूत कारण What Is JSON काम के प्रवाह के साथ एक मापनीय फिट है। ये परिदृश्य उस फिट का वर्णन करते हैं बिना इस शब्द को एक सार्वभौमिक डिफ़ॉल्ट के रूप में मानते हुए।

वेब एपीआई

JSON सामान्य अनुप्रयोग रिकॉर्ड से स्वाभाविक रूप से मानचित्रित होता है और इसे ब्राउज़रों, सर्वरों, गेटवे और क्लाइंट पुस्तकालयों द्वारा समर्थित किया जाता है।

कॉन्फ़िगरेशन

छोटे संरचित सेटिंग्स पढ़ने योग्य और पोर्टेबल होती हैं जब टिप्पणियाँ और समृद्ध डेटा प्रकार आवश्यक नहीं होते।

इवेंट संदेश

उत्पादक और उपभोक्ता अनुबंध द्वारा टाइप किए गए रिकॉर्ड को कतारों और धाराओं के माध्यम से आदान-प्रदान कर सकते हैं।

मानकीकृत वेब डेटा

निकासी प्रणाली पृष्ठ-विशिष्ट सामग्री को भंडारण और डाउनस्ट्रीम विश्लेषण के लिए स्थिर वस्तुओं में परिवर्तित कर सकती है।

पार्सिंग, मान्यता, और अंतःक्रियाशीलता

पार्सिंग इसका उत्तर देती है कि क्या इनपुट JSON सिंटैक्स का पालन करता है और एक होस्ट-भाषा मूल्य उत्पन्न करता है। मान्यता इसका उत्तर देती है कि क्या यह मूल्य अनुप्रयोग अनुबंध को संतोषजनक बनाता है। एक पार्स किया गया ऑब्जेक्ट अभी भी आवश्यक पहचानकर्ता को छोड़ सकता है, unsupported स्थिति का सामना कर सकता है, गलत यूनिट का उपयोग कर सकता है, या फ़ील्ड के बीच संबंध का उल्लंघन कर सकता है। इन चरणों को अलग रखें ताकि त्रुटि संदेश सही समस्या को पहचान सकें।

उत्पादन इंटरफेस के लिए एक स्कीमा या समकक्ष अनुबंध परिभाषित करें। आवश्यक और वैकल्पिक सदस्यों, अनुपस्थिति, संख्या सीमाओं, स्ट्रिंग प्रारूप, एरे सीमाओं, अनजान-सदस्य नीति, और अनुकूलता नियमों को निर्दिष्ट करें। JSON स्कीमा मुख्य विनिर्देश JSON उदाहरणों के एनोटेशन और मान्यकरण के लिए एक शब्दावली को परिभाषित करता है, हालांकि एक अनुप्रयोग अभी भी डोमेन अधिभावन और राज्य नियमों का मालिक होता है।

होस्ट-भाषा के अंतरों के लिए योजना बनाएं। कुछ वातावरण हर संख्या को एक फ्लोटिंग-पॉइंट प्रकार के साथ दर्शाते हैं, जो सभी बड़े पूर्णांकों का सटीक प्रतिनिधित्व नहीं कर सकता। दशमलव मुद्रा मूल्य भी सटीकता खो सकते हैं। जब सटीकता महत्वपूर्ण होती है, तो स्ट्रिंग का उपयोग करें या एक स्पष्ट दशमलव परंपरा का उपयोग करें, और व्यापार-बंद का दस्तावेजीकरण करें। टाइमस्टैम्प को एक परिभाषित प्रारूप और समय क्षेत्र नियम के साथ स्ट्रिंग के रूप में मानें बजाय इसके कि JSON एक दिनांक प्रकार की आपूर्ति करता है।

सामान्य JSON गलतियाँ

  • एक मानक JSON दस्तावेज़ में टिप्पणियाँ जोड़ना। कुछ उपकरण एक्सटेंशन को स्वीकार करते हैं, लेकिन अंतःक्रियाशील JSON उपभोक्ता उन्हें अस्वीकृत कर सकते हैं।
  • ऑब्जेक्ट सदस्य आदेश के अनुसार। ऑब्जेक्ट अवधारणात्मक रूप से अनियोजित होते हैं; जब अनुक्रम अर्थ रखता है, तो एरे का उपयोग करें।
  • डुप्लीकेट सदस्य नामों का उपयोग कर रहे हैं। पार्सर पहले मान को रख सकता है, अंतिम को रख सकता है, सभी मानों को उजागर कर सकता है, या दस्तावेज़ को अस्वीकृत कर सकता है।
  • पहचानकर्ताओं को संख्याओं में परिवर्तित करना। आगामी शून्य और सुरक्षित पूर्णांक सीमाओं के पार मान खो सकते हैं; पहचानकर्ता अक्सर स्ट्रिंग के रूप में बेहतर प्रतिनिधित्व होते हैं।
  • पार्स की गई इनपुट पर भरोसा करना। सिंटैक्स मान्यता आकार सीमाओं, स्कीमा जांच, अधिकृतता, और अविश्वसनीय स्ट्रिंग्स की सुरक्षित हैंडलिंग को प्रतिस्थापित नहीं करती है।

API और वेब डेटा पाइपलाइनों में JSON

एक API सीमा पर, सही मीडिया प्रकार भेजें, निर्दिष्ट के अनुसार पाठ को डिकोड करें, स्वीकृत पेलोड आकार को सीमित करें, एक बनाए रखा पुस्तकालय के साथ पार्स करें, और परिणामी मूल्य की पुष्टि करें। व्यापार लॉजिक तक पहुँचने से पहले गलत प्रारूप या अनुबंध- अमान्य इनपुट को अस्वीकार करें। त्रुटि प्रतिक्रियाएँ फ़ील्ड को पहचाननी चाहिए बिना रहस्यों या संपूर्ण संवेदनशील पेलोड का वर्तन किए। उत्पादक और उपभोक्ता को संख्यात्मक सटीकता, वर्ण कोडिंग, और अनजान-सदस्य हैंडलिंग का भी दस्तावेज़ करना चाहिए।

वेब निकासी सीमा पर, स्रोत अवलोकनों को मानकीकृत फ़ील्ड से अलग रखें। एक स्रोत पहचानकर्ता और संग्रह मेटाडेटा को संरक्षित करें, फिर मूल्यों को एक स्कीमा में मानचित्रण करें जो प्रकारों और गायब-डेटा व्यवहार को परिभाषित करता है। हर अनुपस्थिति के लिए शून्य स्ट्रिंग न बनाएं; शून्य, अनुपस्थिति, और एक खाली मूल्य के भिन्न अर्थ हो सकते हैं।

दीर्घकालिक भंडारण के लिए, अनुप्रयोग स्कीमा और रिकॉर्ड रूपांतरणों का संस्करण बनाएं। JSON सिंटैक्स स्थिर रह सकता है जबकि व्यावसायिक अनुबंध विकसित होता है। उपभोक्ताओं को जोड़े गए सदस्यों, हटाए गए सदस्यों, परिवर्तित एनम्स, और निहित पुनर्गठन के लिए एक अनुकूलता नीति की आवश्यकता होती है। पुराने और नए उत्पादकों का समर्थन किए जाने वाले उपभोक्ता रेंज के खिलाफ परीक्षण करें।

What Is JSON रिव्यू चेकलिस्ट

इन चेक्स का उपयोग करें ताकि What Is JSON परिभाषा को कार्यान्वयन प्रमाण में बदल सकें जिसे एक डेवलपर, ऑपरेटर, या समीक्षक दोबारा उत्पन्न कर सके।

  1. सीमा को फिर से स्पष्ट करें। What Is JSON के लिए, बुलाने वाले, प्रदाता, पथ, और उस सटीक घटना की पहचान करें जो एक पूर्ण परिणाम को चिह्नित करती है।
  2. केंद्रित दावे की पुष्टि करें। इस बयान की पुष्टि करें जिसमें कार्यान्वयन और इसकी दस्तावेज़ीकरण है: JSON संरचित डेटा विनिमय के लिए एक टेक्स्ट प्रारूप है। यह वस्तुओं, एरे, स्ट्रिंग, संख्याएँ, बूलियन, और शून्य का प्रतिनिधित्व करता है।
  3. यांत्रिकी का ट्रेस करें। ऑब्जेक्ट और सदस्य नाम, एरे और मान, स्ट्रिंग, संख्याएँ, और साहित्य के अवलोकन करें, और रिकॉर्ड करें कि प्रत्येक चरण का कौन सा घटक मालिक है।
  4. सबसे निकटतम भेद की जांच करें। दस्तावेज़ करें कि क्यों Object का अर्थ है “Named members with JSON values।” इस प्रणाली में।
  5. एक प्रतिनिधि उपयोग मामले का परीक्षण करें। वास्तविक डेटा, स्थान, मात्रा, और अनुमति सीमाओं के साथ वेब एपीआई का उपयोग करें।
  6. जाने-माने गलती के खिलाफ सुरक्षा करें। मानक JSON दस्तावेज़ में टिप्पणियाँ जोड़ने की समीक्षा करें। और इसे पकड़ने के लिए एक स्वीकृति जांच जोड़ें।
  7. कार्यभार की सीमा निर्धारित करें। जो भी है JSON के लिए विषय-उपयुक्त सीमाओं का सेट करें, जिसमें पेलोड, संयोजन, निष्पादन समय और संग्रहित आउटपुट शामिल हैं जहाँ वे लागू होते हैं।
  8. निर्णय को रिकॉर्ड करें। समझाएं कि क्यों जो है JSON इस सीमा में फिट बैठता है और नाम दें उस साक्ष्य का जो बाद में एक अलग दृष्टिकोण को न्यायसंगत ठहरा सके।

निष्कर्ष

जो है JSON को डिज़ाइन के एक परीक्षण योग्य भाग का वर्णन करना चाहिए बजाय इसके कि यह निकटवर्ती व्यवहार के लिए एक ढीला लेबल बन जाए। समीक्षा को इस केंद्रीय निर्णय को बनाए रखना चाहिए: JSON डेटा विनिमय के लिए एक पाठ प्रारूप है। यह वस्तुओं, Arrays, strings, संख्याओं, बूलियनों, और null का प्रतिनिधित्व करता है। इसे एक मानक json दस्तावेज़ में टिप्पणियाँ जोड़ने के खिलाफ भी सुरक्षा प्रदान करनी चाहिए। और जो है JSON तक पहुँच को इंटरफ़ेस या नेटवर्क के लिए दस्तावेजीकरण की नीति के भीतर बनाए रखना चाहिए।

क्या आप अपना वेब डेटा वर्कफ़्लो बनाने के लिए तैयार हैं?

एक मापी हुई जो है JSON अधिग्रहण या इंटीग्रेशन चरण को ऊपर वर्णित सत्यापन और संग्रहण प्रथाओं से जोड़ें।

आज साइन अप करें और प्राप्त करें $5 मुफ्त क्रेडिट मेंकोई क्रेडिट कार्ड की आवश्यकता नहीं.

अपना $5 क्रेडिट प्राप्त करें →

अक्सर पूछे जाने वाले प्रश्न

JSON का मतलब क्या है?

JSON का मतलब है जावास्क्रिप्ट ऑब्जेक्ट नोटेशन। यह एक पाठ-आधारित, भाषा-स्वतंत्र डेटा-बदली प्रारूप है जो जावास्क्रिप्ट ऑब्जेक्ट नोटेशन से निकला है।

क्या JSON एक प्रोग्रामिंग भाषा है?

नहीं। JSON डेटा प्रारूप है। इसमें संरचित मान प्रस्तुत करने के लिए सिंटैक्स है लेकिन कोई चर, नियंत्रण प्रवाह, कार्य, या निष्पादन मॉडल नहीं है।

क्या JSON में टिप्पणियाँ हो सकती हैं?

मानक JSON टिप्पणी सिंटैक्स शामिल नहीं करता है। कुछ कॉन्फ़िगरेशन टूल JSON जैसे एक्सटेंशन को स्वीकार करते हैं, लेकिन इंटरऑपरेबल JSON उपभोक्ताओं के लिए अभिप्रेत दस्तावेज़ों को मानक व्याकरण का पालन करना चाहिए।

JSON और जावास्क्रिप्ट ऑब्जेक्ट के बीच क्या अंतर है?

JSON एक सीमित व्याकरण के साथ अनुक्रमित पाठ है, जबकि एक जावास्क्रिप्ट ऑब्जेक्ट एक रनटाइम मान है जिसमें कार्य, प्रतीक, प्रोटोटाइप, अज्ञात, और अन्य विशेषताएँ हो सकती हैं जो JSON प्रतिनिधित्व नहीं कर सकता।

संदर्भ