JSON को तुरंत फ़ॉर्मेट करें, सत्यापित करें और छोटा करें
JSON (जावास्क्रिप्ट ऑब्जेक्ट नोटेशन) वेब एपीआई, कॉन्फ़िगरेशन फ़ाइलों और डेटा स्टोरेज के लिए मानक डेटा इंटरचेंज प्रारूप है। जब आप एपीआई प्रतिक्रिया या डिबगिंग टूल से कच्चा या कॉम्पैक्ट JSON प्राप्त करते हैं, तो इसे फ़ॉर्मेट करने से यह सेकंड में मानव-पठनीय बन जाता है। जब आपको JSON को कुशलतापूर्वक प्रसारित करने की आवश्यकता होती है, तो छोटा करने से सभी अनावश्यक रिक्त स्थान हटा दिए जाते हैं।
टूल का उपयोग कैसे करें
JSON को इनपुट बॉक्स में पेस्ट करें, फिर इसे साफ-सुथरे इंडेंटेड और पढ़ने योग्य देखने के लिए प्रारूप चुनें, या सबसे छोटे संभव आकार के लिए हर अनावश्यक स्थान और लाइन ब्रेक को हटाने के लिए इसे छोटा करें। यदि JSON में कोई त्रुटि है, तो टूल चुपचाप विफल होने के बजाय रिपोर्ट करता है कि क्या गलत हुआ, जो आमतौर पर लॉग फ़ाइल या एपीआई प्रतिक्रिया से चिपकाए गए बड़े ब्लॉक में छिपे हुए अल्पविराम या लापता ब्रैकेट को पहचानने का सबसे तेज़ तरीका है।
JSON क्या है?
JSON एक टेक्स्ट-आधारित डेटा प्रारूप है जो संरचित डेटा को कुंजी-मूल्य जोड़े (ऑब्जेक्ट्स) और ऑर्डर की गई सूचियों (सरणी) के रूप में प्रस्तुत करता है। यह जावास्क्रिप्ट ऑब्जेक्ट सिंटैक्स से लिया गया था लेकिन यह भाषा-स्वतंत्र है - वस्तुतः हर प्रोग्रामिंग भाषा में एक JSON पार्सर होता है।
एक वैध JSON दस्तावेज़ इनमें से एक है: एक ऑब्जेक्ट, एक सरणी, एक स्ट्रिंग, एक संख्या, एक बूलियन (सही या गलत), या शून्य।
वैध JSON का उदाहरण:
{
"नाम": "ऐलिस",
"उम्र": 30,
"स्कोर": [95, 87, 91],
"सक्रिय": सत्य
}
JSON बनाम XML
JSON ने बड़े पैमाने पर XML को वेब पर प्रमुख डेटा इंटरचेंज प्रारूप के रूप में प्रतिस्थापित कर दिया क्योंकि यह अधिक कॉम्पैक्ट, पढ़ने में आसान है, और अधिकांश प्रोग्रामिंग भाषाओं (ऑब्जेक्ट्स और एरेज़) की डेटा संरचनाओं के लिए स्वाभाविक रूप से मैप करता है।
एक नज़र में नेस्टेड संरचनाएँ
फ़ॉर्मेटिंग का वास्तविक मूल्य तब दिखाई देता है जब ऑब्जेक्ट और एरे एक-दूसरे के अंदर कई स्तरों की गहराई में रहना शुरू करते हैं, जो वास्तविक एपीआई प्रतिक्रियाओं में आम है। JSON के एक गहरे नेस्टेड, छोटे आकार के ब्लॉब को आंखों से पता लगाना लगभग असंभव है - एक ओपनिंग ब्रेस को कई लाइन दूर उसके सही क्लोजिंग ब्रेस से मिलाना बिल्कुल उसी तरह का कठिन, त्रुटि-प्रवण कार्य है जिसे कंप्यूटर एक इंसान की तुलना में कहीं बेहतर तरीके से करता है। लगातार इंडेंटेशन के साथ स्वरूपित JSON उसी संरचना को किसी ऐसी चीज़ में बदल देता है जिसे आप स्तर दर स्तर देख कर अनुसरण कर सकते हैं, यही कारण है कि लगभग हर डेवलपर टूल जो JSON प्रदर्शित करता है, ब्राउज़र डेव टूल से लेकर एपीआई क्लाइंट तक, सर्वर द्वारा वास्तव में भेजे गए कच्चे, कॉम्पैक्ट स्ट्रिंग को दिखाने के बजाय इसे डिफ़ॉल्ट रूप से प्रारूपित करता है।
सुंदर-मुद्रण (स्वरूपण)
एक "छोटा" JSON स्ट्रिंग में कोई अनावश्यक रिक्त स्थान नहीं है:
{"नाम":"ऐलिस","उम्र":30,"स्कोर":[95,87,91],"सक्रिय":सत्य}
वैध होते हुए भी, इसे पढ़ना कठिन है। "प्रिटी-प्रिंटिंग" या "फ़ॉर्मेटिंग" इंडेंटेशन और न्यूलाइन जोड़ता है:
नेस्टिंग का प्रत्येक स्तर 2 या 4 स्थानों द्वारा इंडेंट किया गया है। इससे गहराई में स्थित संरचनाओं को दृष्टिगत रूप से नेविगेट करना आसान हो जाता है।
JSON के उदय का एक संक्षिप्त इतिहास
JSON को 2000 के दशक की शुरुआत में डगलस क्रॉकफोर्ड द्वारा लोकप्रिय बनाया गया था, जिन्होंने एक डेटा प्रारूप का दस्तावेजीकरण और नामकरण किया था, जिसे उन्होंने देखा था कि यह पूरी तरह से कुछ नया आविष्कार करने के बजाय पहले से ही जावास्क्रिप्ट के अपने ऑब्जेक्ट शाब्दिक वाक्यविन्यास में अंतर्निहित था। इसका समय AJAX-संचालित वेब अनुप्रयोगों के विकास के साथ मेल खाता था, जिन्हें पूर्ण पृष्ठ पुनः लोड किए बिना ब्राउज़र और सर्वर के बीच डेटा का आदान-प्रदान करने के लिए एक हल्के तरीके की आवश्यकता थी, और मूल जावास्क्रिप्ट ऑब्जेक्ट्स के साथ इसकी करीबी समानता का मतलब था कि ब्राउज़र इसे लगभग मुफ्त में पार्स कर सकते थे। सरलता और अच्छी टाइमिंग का वह संयोजन काफी हद तक यही कारण है कि JSON ने लगभग एक दशक के भीतर वेब एपीआई के लिए डिफ़ॉल्ट विकल्प के रूप में अधिक वर्बोज़ XML को पीछे छोड़ दिया।
वेब विकास में JSON
वेब एपीआई अनुरोध और प्रतिक्रिया निकायों के लिए JSON का अत्यधिक उपयोग करते हैं। ब्राउज़र के फ़ेच() एपीआई और XMLHttpRequest दोनों मूल रूप से JSON को संभालते हैं। सर्वर-साइड भाषाएँ अंतर्निहित लाइब्रेरीज़ का उपयोग करके JSON को पार्स करती हैं: Python में json, JavaScript में JSON.parse, PHP में json_decode, Java में Gson/Jackson।
फ़ॉर्मेटिंग और छोटा करना अलग-अलग उद्देश्य क्यों पूरा करते हैं?
ये दो ऑपरेशन मौजूद हैं क्योंकि JSON को दो अलग-अलग दर्शकों द्वारा पढ़ा जाता है। स्वरूपित, इंडेंटेड JSON मनुष्यों के लिए है: एक डेवलपर जो एपीआई प्रतिक्रिया का निरीक्षण करता है, कॉन्फ़िगरेशन फ़ाइल को डीबग करता है, या विकास के दौरान डेटा की समीक्षा करता है, उसे स्पष्ट इंडेंटेशन से बहुत लाभ होता है जो नेस्टेड ऑब्जेक्ट और सरणियों की संरचना को एक नज़र में दृश्यमान बनाता है। मिनिफाइड JSON मशीनों के लिए है: प्रत्येक अनावश्यक स्थान और लाइन ब्रेक को हटाने से बाइट्स की संख्या कम हो जाती है जिन्हें नेटवर्क पर प्रसारित करने या डिस्क पर संग्रहीत करने की आवश्यकता होती है, जो तब मायने रखती है जब JSON पेलोड सर्वर के बीच दिन में हजारों या लाखों बार भेजा जाता है। कोई भी फॉर्म दूसरे की तुलना में अधिक "सही" नहीं है - वे बस अलग-अलग पाठकों के लिए अनुकूलन करते हैं, और दोनों के बीच एक अच्छा वर्कफ़्लो चलता है जो इस पर निर्भर करता है कि उस समय कोई इंसान या मशीन रीडिंग कर रहा है या नहीं।
सामान्य JSON त्रुटियाँ और उनका पता कैसे लगाएं
किसी ऑब्जेक्ट या सरणी में अंतिम आइटम के बाद अनुगामी अल्पविराम सबसे लगातार त्रुटियों में से एक है, क्योंकि यह जावास्क्रिप्ट ऑब्जेक्ट शाब्दिक में मान्य है लेकिन JSON में स्पष्ट रूप से अस्वीकृत है। संपत्ति के नाम हमेशा दोहरे-उद्धृत स्ट्रिंग होने चाहिए - गैर-उद्धृत कुंजियाँ और एकल-उद्धृत स्ट्रिंग दोनों अमान्य हैं, भले ही दोनों जावास्क्रिप्ट में वैध हैं। टिप्पणियाँ मानक JSON में बिल्कुल भी समर्थित नहीं हैं, इसलिए सहायक इनलाइन टिप्पणियों वाली एक कॉन्फ़िगरेशन फ़ाइल (जैसे JSONC प्रारूप VS कोड अपनी सेटिंग्स के लिए उपयोग करता है) तकनीकी रूप से वैध JSON नहीं है और एक विशेष प्रयोजन पार्सर की आवश्यकता होती है। क्योंकि JSON का व्याकरण जानबूझकर जावास्क्रिप्ट की तुलना में सख्त है, जावास्क्रिप्ट ऑब्जेक्ट को सीधे JSON फ़ील्ड में कॉपी करना सिंटैक्स त्रुटियों का एक बहुत ही सामान्य स्रोत है, यह टूल आपको पकड़ने में मदद करता है।
डेटा पर भरोसा करने से पहले सत्यापन करना
JSON को पठनीय बनाने के अलावा, यह टूल इसे मान्य भी करता है, जो मायने रखता है क्योंकि एक भी गलत स्थान वाला अक्षर JSON के अन्यथा सही दिखने वाले ब्लॉक को पूरी तरह से अप्राप्य बना सकता है। गायब अल्पविराम या खुले ब्रैकेट के लिए सैकड़ों पंक्तियों को मैन्युअल रूप से स्कैन करने के बजाय, टेक्स्ट को पेस्ट करना और पार्सर को ठीक उसी जगह रिपोर्ट करने देना जहां यह विफल हुआ, एक कठिन दृश्य खोज को तत्काल, सटीक उत्तर में बदल देता है, जो कॉन्फ़िगरेशन फ़ाइल या एपीआई प्रतिक्रिया को डीबग करते समय विशेष रूप से मूल्यवान होता है जिसे प्रोग्राम स्वीकार करने से इंकार कर देता है।
निजी और तत्काल
सभी प्रोसेसिंग पूरी तरह से आपके ब्राउज़र में चलती है, इसलिए फ़ॉर्मेटिंग और छोटा करना तुरंत होता है और आपके द्वारा पेस्ट किया गया कोई भी JSON कभी भी कहीं भी नहीं भेजा जाता है, लॉग इन या साझा नहीं किया जाता है, और पेज लोड होने के बाद यह ऑफ़लाइन काम करता है।
JSON फ़ॉर्मेटर FAQ
- JSON क्या है?
- JSON (जावास्क्रिप्ट ऑब्जेक्ट नोटेशन) एक हल्का डेटा इंटरचेंज प्रारूप है। यह कुंजी-मूल्य जोड़े और सरणियों से युक्त डेटा ऑब्जेक्ट का प्रतिनिधित्व करने के लिए मानव-पठनीय पाठ का उपयोग करता है।
- "प्रारूप" क्या करता है?
- फ़ॉर्मेटिंग (जिसे "प्रिटी-प्रिंटिंग" भी कहा जाता है) JSON को मानव-पठनीय बनाने के लिए उचित इंडेंटेशन और नई लाइनें जोड़ता है। न्यूनतम संभव वैध JSON स्ट्रिंग उत्पन्न करने के लिए न्यूनतमकरण सभी रिक्त स्थान को हटा देता है।
- क्या सत्यापनकर्ता त्रुटियों को ठीक करता है?
- नहीं, टूल JSON को पार्स करता है और यदि यह अमान्य है तो त्रुटि की रिपोर्ट करता है। त्रुटि को ठीक करना उपयोगकर्ता पर छोड़ दिया गया है।