JSON क्या है?
JSON (JavaScript Object Notation) संरचित डेटा का टेक्स्ट फ़ॉर्मेट है जो ऑब्जेक्ट, ऐरे, स्ट्रिंग, नंबर, बूलियन और null से बनता है। इसे RFC 8259 और ECMA-404 परिभाषित करते हैं; यह भाषा-स्वतंत्र है और वेब API का डिफ़ॉल्ट फ़ॉर्मेट है क्योंकि यह कॉम्पैक्ट, पढ़ने योग्य और पार्स करने में आसान है।
JSON वैलिडेटर कैसे इस्तेमाल करें
- जिस JSON को जाँचना है उसे पेस्ट करें।
- नतीजा पढ़ें: वैध इनपुट पर हरा सारांश, या गड़बड़ी पर ठीक जगह बताता लाल एरर।
- संकेत के अनुसार सुधार करें (उदाहरण के लिए ट्रेलिंग कॉमा हटाएँ) और दोबारा वैलिडेट करें।
JSON वैलिडेटर की खूबियाँ
- नेटिव पार्सर से सख़्त RFC 8259 सिंटैक्स वैलिडेशन
- पहली गलती की लाइन और कॉलम, साथ में आसान भाषा में संकेत और टेक्स्ट का अंश
- डुप्लिकेट कीज़ की पहचान, गड़बड़ कीज़ के नाम सहित
- JavaScript में सटीकता खो देने वाले इंटीजर पर चेतावनी
- वैध होने पर रूट टाइप, साइज़, डेप्थ, कीज़ और वैल्यू वितरण का सारांश
- एडिट करते समय लाइव वैलिडेशन
JSON वैलिडेटर का उदाहरण
ट्रेलिंग कॉमा पकड़ना
इनपुट:
{
"items": [1, 2, 3],
"total": 3,
}आउटपुट:
Invalid JSON near line 4, column 1.
Trailing commas are not allowed before } or ].JSON वैलिडेटर के बारे में अक्सर पूछे जाने वाले सवाल
वैलिडेशन के लिए कौन-सा मानक इस्तेमाल होता है?
RFC 8259 (मौजूदा JSON मानक)। जाँच ब्राउज़र के नेटिव पार्सर से होती है, इसलिए जो वह स्वीकार करता है उसे हर प्रमुख JSON लाइब्रेरी भी स्वीकार करेगी।
एरर की जगह कितनी सटीक होती है?
लाइन और कॉलम उस पहले कैरेक्टर की ओर इशारा करते हैं जिसे पार्सर स्वीकार नहीं कर सका। संकेत आम कारण बताता है — ट्रेलिंग कॉमा, सिंगल कोट्स, बिना कोट वाली कीज़, कमेंट या छूटा हुआ ब्रैकेट।
क्या यह डुप्लिकेट कीज़ पकड़ता है?
हाँ। मानक के अनुसार डुप्लिकेट कीज़ तकनीकी रूप से मान्य हैं, पर लगभग हमेशा बग होती हैं, इसलिए वैलिडेटर चेतावनी देता है और संबंधित कीज़ के नाम बताता है।
क्या मैं यहाँ स्कीमा के विरुद्ध JSON वैलिडेट कर सकता हूँ?
यह टूल सिर्फ़ सिंटैक्स जाँचता है। स्ट्रक्चर, टाइप और ज़रूरी फ़ील्ड जाँचने के लिए JSON Schema वैलिडेटर इस्तेमाल करें।
तकनीकी नोट्स
वैलिडेटर इनपुट को ब्राउज़र में ही रखता है और उसे कहीं नहीं भेजता। सिंटैक्स के अलावा यह कच्चे टेक्स्ट में हर ऑब्जेक्ट स्कोप के भीतर डुप्लिकेट कीज़ (जिन्हें JSON.parse चुपचाप मिला देता है) और 2^53 − 1 से बड़े इंटीजर लिटरल भी ढूँढ़ता है — ये दोनों प्रोडक्शन में सूक्ष्म बग के आम स्रोत हैं।
संदर्भ
- RFC 8259: The JavaScript Object Notation (JSON) Data Interchange FormatJSON का व्याकरण: ऑब्जेक्ट, ऐरे, स्ट्रिंग, नंबर, तीन लिटरल और इंटरचेंज एन्कोडिंग के रूप में UTF-8।
- ECMA-404: The JSON Data Interchange SyntaxEcma मानक के रूप में JSON सिंटैक्स, RFC 8259 के अनुरूप।
- Introducing JSONJSON का मूल एक-पृष्ठ विवरण, सिंटैक्स डायग्राम के साथ।