इस्तेमाल करने का तरीका
- बॉक्स में अपना JSON पेस्ट करें, कोई फ़ाइल खोलें या त्रुटि रिपोर्ट देखने के लिए “उदाहरण आज़माएँ” दबाएँ।
- नतीजा देखें: मान्य JSON के लिए हरा संदेश, या पहली त्रुटि के साथ उसकी लाइन, कॉलम और समस्या के नीचे निशान।
- संकेत में बताई गई त्रुटि ठीक करके फिर जाँचें; टाइप करते ही नतीजा अपडेट हो जाता है।
- मान्य JSON के लिए आँकड़े देखें: रूट का प्रकार, कुंजियों की संख्या, नेस्टिंग की गहराई और बाइट में आकार।
यह कैसे काम करता है
यह वैलिडेटर JSON मानक (RFC 8259 / ECMA-404) के अनुसार सिंटैक्स की जाँच करने के लिए ब्राउज़र के अपने JSON पार्सर का इस्तेमाल करता है। इसलिए यहाँ पास होने वाला दस्तावेज़ JavaScript के JSON.parse और अन्य भाषाओं के मानक-अनुरूप पार्सर में भी स्वीकार किया जाता है। पार्स करने में त्रुटि होने पर, इस टूल के लिए लिखा गया एक सख़्त चेकर टेक्स्ट को एक बार पढ़कर पहली त्रुटि और उसकी सटीक पंक्ति व कॉलम ढूँढ़ता है, फिर समस्या के नीचे ^ चिह्न के साथ वह पंक्ति दिखाता है।
ये संकेत उन आम गलतियों पर केंद्रित हैं जो लोग JSON हाथ से लिखते या JavaScript से कॉपी करते समय करते हैं: आखिरी आइटम के बाद अल्पविराम, एकल उद्धरण वाली स्ट्रिंग, बिना उद्धरण वाली कुंजियाँ, // या /* */ टिप्पणियाँ, NaN, Infinity या undefined जैसे मान, स्ट्रिंग के अंदर सीधे लाइन ब्रेक और एक के बाद एक पेस्ट किए गए दो JSON दस्तावेज़ (जैसे JSON Lines फ़ाइलों में)। केवल पहली त्रुटि दिखाई जाती है, क्योंकि एक गलती के कारण उसके बाद का पूरा टेक्स्ट गड़बड़ा सकता है।
यह टूल केवल सिंटैक्स जाँचता है। यह JSON Schema के अनुसार वैलिडेट नहीं करता, इसलिए यह नहीं बता सकता कि कोई ज़रूरी फ़ील्ड छूटा है या नहीं। यह दोहराई गई कुंजियों के बारे में चेतावनी भी नहीं देता: मानक इसकी अनुमति देता है और ज़्यादातर पार्सर आखिरी मान रखते हैं। आँकड़ों में हर स्तर के हर ऑब्जेक्ट की कुंजियाँ गिनी जाती हैं; साधारण ऑब्जेक्ट या array की गहराई 1 होती है और नेस्टिंग के हर स्तर के साथ यह एक बढ़ती जाती है।
उदाहरण
JavaScript से कॉपी किया गया कॉन्फ़िगरेशन
{name: 'demo', debug: true,} पंक्ति 1, कॉलम 2 पर “ऑब्जेक्ट की कुंजियाँ दोहरे उद्धरण चिह्नों में होनी चाहिए” त्रुटि देता है। कुंजी के चारों ओर उद्धरण चिह्न लगाने के बाद, अगली जाँच एकल उद्धरण वाली स्ट्रिंग और फिर अंत के अतिरिक्त अल्पविराम की ओर इशारा करती है।
हर पंक्ति में एक ऑब्जेक्ट वाली लॉग फ़ाइल
{"id":1} और {"id":2} जैसी दो पंक्तियाँ पेस्ट करने पर पंक्ति 2 में “JSON मान के अंत के बाद कुछ और सामग्री है” त्रुटि दिखाई देती है। हर पंक्ति अपने आप में मान्य JSON (JSON Lines) है, लेकिन दोनों को एक साथ रखने के लिए उन्हें [ ] में रखना और अल्पविराम से अलग करना होगा।
API पेलोड की जाँच
2 MB की प्रतिक्रिया तुरंत वैलिडेट हो जाती है और Root type: Array, 1,500 टॉप-लेवल आइटम और 4 की नेस्टिंग गहराई दिखाती है—उसके आधार पर कोड लिखने से पहले एक त्वरित जाँच।
अक्सर पूछे जाने वाले सवाल
क्या यह JSON Schema के अनुसार जाँचता है?
नहीं। यह जाँचता है कि टेक्स्ट सही फ़ॉर्मैट में JSON है या नहीं। ज़रूरी फ़ील्ड, डेटा के प्रकार या फ़ॉर्मैट जाँचने के लिए JSON Schema Validator चाहिए, जो इस टूल में शामिल नहीं है।
सिर्फ़ एक त्रुटि क्यों दिखाई जाती है?
पहली सिंटैक्स त्रुटि के बाद पार्सर यह नहीं जान सकता कि लेखक का क्या आशय था, इसलिए बाद की “त्रुटियाँ” अक्सर पहली त्रुटि के असर होते हैं। बताई गई समस्या ठीक करें; अगर कोई अगली समस्या होगी, तो वह तुरंत दिख जाएगी।
क्या टिप्पणियाँ या आखिर में कॉमा कभी मान्य होते हैं?
JSON में नहीं। JSON5 और JSONC जैसे फ़ॉर्मैट (जिनका इस्तेमाल कुछ एडिटर की सेटिंग फ़ाइलों में होता है) टिप्पणियों की अनुमति देते हैं, लेकिन मानक JSON पार्सर उन्हें अस्वीकार करते हैं। इसलिए यहाँ उन्हें त्रुटि के रूप में दिखाया जाता है।
क्या 42 या "hello" जैसी एकल वैल्यू मान्य JSON है?
हाँ। RFC 7159 के बाद से कोई भी JSON वैल्यू रूट हो सकती है, सिर्फ़ ऑब्जेक्ट और ऐरे नहीं। कुछ पुराने टूल और API अब भी शीर्ष स्तर पर ऑब्जेक्ट या ऐरे की अपेक्षा करते हैं।
कॉलम की संख्या मेरे एडिटर से अलग क्यों हो सकती है?
कॉलम UTF-16 कोड यूनिट में गिने जाते हैं, जैसे JavaScript स्ट्रिंग की लंबाई गिनता है। इमोजी और कुछ दुर्लभ अक्षर दो कॉलम गिने जाते हैं, जबकि टैब एक कॉलम गिना जाता है; हालाँकि एडिटर में वह ज़्यादा चौड़ा दिख सकता है।
गोपनीयता
जाँच पूरी तरह आपके ब्राउज़र में होती है। आपका पेस्ट किया हुआ या खोला गया JSON अपलोड या संग्रहित नहीं किया जाता और न ही इसे एनालिटिक्स में शामिल किया जाता है।