JSON कैसे सत्यापित करें: संपूर्ण गाइड और उदाहरण
JSON (JavaScript Object Notation) आधुनिक वेब API, कॉन्फ़िगरेशन फ़ाइलों और डेटा इंटरचेंज की आधारशिला है। लेकिन अमान्य JSON एप्लिकेशन क्रैश, API एकीकरण विफलताओं और घंटों डीबगिंग निराशा का कारण बन सकता है। यह गाइड आपको JSON सत्यापन के बारे में जानने के लिए आवश्यक सब कुछ बताएगी, बुनियादी सिंटैक्स जाँच से लेकर वास्तविक दुनिया के उदाहरणों के साथ उन्नत Schema सत्यापन तक।
JSON सत्यापन क्यों महत्वपूर्ण है
अमान्य JSON वेब एप्लिकेशन में त्रुटियों के सबसे आम स्रोतों में से एक है। एक गलत स्थान पर कॉमा, एक अनकोटेड कुंजी या एक ट्रेलिंग कॉमा JSON.parse() को SyntaxError फेंकने का कारण बन सकता है, पूरी डेटा पाइपलाइन को क्रैश कर सकता है। सत्यापन इन त्रुटियों को सिस्टम में फैलने और डाउनस्ट्रीम विफलताओं का कारण बनने से पहले जल्दी पकड़ लेता है।
सिंटैक्स शुद्धता से परे, सत्यापन सुनिश्चित करता है कि JSON डेटा अपेक्षित संरचना के अनुरूप है। API मान्य JSON लौटा सकता है लेकिन आवश्यक फ़ील्ड गायब हो सकते हैं, डेटा प्रकार गलत हो सकते हैं, या मान स्वीकार्य सीमा से बाहर हो सकते हैं। Schema सत्यापन इन संरचनात्मक मुद्दों को संबोधित करता है।
JSON सिंटैक्स नियम
सत्यापन उपकरणों में गोता लगाने से पहले, उन नियमों को समझना महत्वपूर्ण है जो JSON को मान्य बनाते हैं। JSON में RFC 8259 द्वारा परिभाषित सख्त सिंटैक्स है, और एक भी वर्ण उल्लंघन पूरे दस्तावेज़ को अमान्य बना सकता है।
स्ट्रिंग को डबल कोट्स का उपयोग करना चाहिए
सभी स्ट्रिंग मान और ऑब्जेक्ट कुंजियाँ डबल कोट में संलग्न होनी चाहिए। सिंगल कोट मान्य JSON स्ट्रिंग डेलिमीटर नहीं हैं, JavaScript से आने वाले डेवलपर्स की एक आम गलती है।
// Invalid - single quotes
{'name': 'Alice', 'age': 30}
// Valid - double quotes
{"name": "Alice", "age": 30}ऑब्जेक्ट कुंजियाँ उद्धृत होनी चाहिए
JavaScript ऑब्जेक्ट लिटरल के विपरीत, JSON के लिए सभी ऑब्जेक्ट कुंजियों को डबल कोट्स में संलग्न करना आवश्यक है। अनकोटेड कुंजियाँ सिंटैक्स त्रुटि हैं।
// Invalid - unquoted keys
{name: "Alice", age: 30}
// Valid - quoted keys
{"name": "Alice", "age": 30}ट्रेलिंग कॉमा की अनुमति नहीं
JSON ऑब्जेक्ट या ऐरे में अंतिम आइटम के बाद कॉमा की अनुमति नहीं देता। यह एक और सामान्य त्रुटि है, विशेष रूप से JSON को मैन्युअल रूप से संपादित करते समय।
// Invalid - trailing comma
{
"name": "Alice",
"age": 30,
}
// Valid - no trailing comma
{
"name": "Alice",
"age": 30
}टिप्पणियाँ समर्थित नहीं
JSON टिप्पणियों का समर्थन नहीं करता। // सिंगल-लाइन टिप्पणियाँ और /* */ मल्टी-लाइन टिप्पणियाँ JSON में मान्य नहीं हैं। यदि आपको दस्तावेज़ीकरण की आवश्यकता है, तो अलग फ़ाइलों या JSONC जैसे प्रारूपों का उपयोग करें।
सामान्य JSON सत्यापन त्रुटियाँ
सबसे आम त्रुटियों को समझने से आपको उन्हें जल्दी पहचानने और ठीक करने में मदद मिलती है। यहाँ वे हैं जिनका आप सबसे अधिक सामना करेंगे:
- अप्रत्याशित टोकन: आमतौर पर सिंगल कोट्स, अनकोटेड कुंजियों या ट्रेलिंग कॉमा के कारण होता है। त्रुटि संदेश में वह स्थान शामिल होता है जहाँ पार्सिंग विफल हुई।
- JSON इनपुट का अप्रत्याशित अंत: JSON स्ट्रिंग अधूरी या खाली है। यह आमतौर पर तब होता है जब कोई नेटवर्क अनुरोध खाली प्रतिक्रिया लौटाता है।
- अप्रत्याशित गैर-व्हाइटस्पेस वर्ण: मुख्य JSON मान के बाद अतिरिक्त सामग्री, जैसे ऐरे में लपेटा न गया दूसरा ऑब्जेक्ट।
- अमान्य संख्याएँ: अग्रणी शून्य वाली संख्याएँ (0 को छोड़कर), हेक्साडेसिमल नोटेशन, या NaN / Infinity मान मान्य JSON नहीं हैं।
JavaScript में JSON सत्यापित करना
JavaScript में JSON सत्यापित करने का सबसे सरल तरीका JSON.parse() को try-catch ब्लॉक में लपेटना है। यदि JSON अमान्य है, तो विधि SyntaxError फेंकती है।
function validateJSON(jsonString) {
try {
JSON.parse(jsonString);
return { valid: true };
} catch (error) {
return {
valid: false,
error: error.message
};
}
}
const result = validateJSON('{"name": "Alice"}');
console.log(result);
// { valid: true }
const badResult = validateJSON("{'name': 'Alice'}");
console.log(badResult);
// { valid: false, error: "Unexpected token '..." }Python में JSON सत्यापित करना
Python json मॉड्यूल प्रदान करता है जिसमें JSON स्ट्रिंग को पार्स करने के लिए json.loads() शामिल है। JavaScript की तरह, अमान्य JSON विस्तृत स्थान जानकारी के साथ json.JSONDecodeError उठाता है।
import json
def validate_json(json_string):
try:
json.loads(json_string)
return {"valid": True}
except json.JSONDecodeError as e:
return {
"valid": False,
"error": str(e),
"line": e.lineno,
"column": e.colno
}
result = validate_json('{"name": "Alice"}')
print(result)
# {'valid': True}JSON Schema सत्यापन
सिंटैक्स सत्यापन केवल आपको बताता है कि JSON अच्छी तरह से फ़ॉर्मेटेड है या नहीं। JSON Schema आपको अपेक्षित संरचना को परिभाषित करने और उसके विरुद्ध डेटा सत्यापित करने देता है। Schema आवश्यक फ़ील्ड, डेटा प्रकार, मान श्रेणियाँ, स्ट्रिंग पैटर्न और नेस्टेड ऑब्जेक्ट संरचनाएँ निर्दिष्ट करता है।
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"required": ["name", "email"],
"properties": {
"name": { "type": "string", "minLength": 1 },
"email": { "type": "string", "format": "email" },
"age": { "type": "integer", "minimum": 0 }
}
}लोकप्रिय JSON Schema सत्यापनकर्ताओं में JavaScript के लिए Ajv, Python के लिए jsonschema और Java के लिए json-schema-validator शामिल हैं। ये लाइब्रेरी आपके Schema के अनुसार JSON डेटा को सत्यापित करती हैं और प्रत्येक उल्लंघन के लिए विस्तृत त्रुटि संदेश उत्पन्न करती हैं।
ऑनलाइन JSON सत्यापन उपकरण
जब आपको बिना कोड लिखे JSON दस्तावेज़ की तुरंत जाँच करनी हो, तो ऑनलाइन सत्यापनकर्ता सबसे तेज़ विकल्प हैं। वे त्रुटि हाइलाइटिंग और पंक्ति संख्याओं के साथ तत्काल प्रतिक्रिया प्रदान करते हैं।
JSON सत्यापन सर्वोत्तम अभ्यास
- जल्दी सत्यापन करें: सिस्टम सीमाओं पर JSON की जाँच करें, जैसे API एंडपॉइंट और फ़ाइल आयात फ़ंक्शन, डेटा के व्यावसायिक तर्क में प्रवेश करने से पहले।
- Schema सत्यापन का उपयोग करें: सिंटैक्स से परे, गायब फ़ील्ड, गलत प्रकार और सीमा से बाहर मानों को पकड़ने के लिए JSON Schema के साथ डेटा संरचना सत्यापित करें।
- स्पष्ट त्रुटि संदेश प्रदान करें: जब सत्यापन विफल हो, तो उपयोगकर्ताओं को समस्या जल्दी ठीक करने में मदद करने के लिए फ़ील्ड पथ, अपेक्षित प्रकार और वास्तविक मान शामिल करें।
- क्लाइंट और सर्वर दोनों तरफ सत्यापन करें: क्लाइंट-साइड सत्यापन तत्काल प्रतिक्रिया प्रदान करता है, जबकि सर्वर-साइड सत्यापन सुरक्षा और डेटा अखंडता सुनिश्चित करता है।
- CI/CD में सत्यापन स्वचालित करें: अपनी बिल्ड पाइपलाइन में JSON फिक्स्चर और कॉन्फ़िगरेशन फ़ाइलों को सत्यापित करने के लिए ajv-cli या jsonschema जैसे उपकरणों का उपयोग करें।
- सत्यापन त्रुटियाँ लॉग करें: पैटर्न की पहचान करने और डेटा उत्पादकों में मूल कारणों को ठीक करने के लिए संदर्भ के साथ सत्यापन विफलताओं को लॉग करें।
अपने JSON डेटा को सत्यापित करने के लिए तैयार हैं? तत्काल त्रुटि पहचान और विस्तृत प्रतिक्रिया के साथ हमारा मुफ़्त ऑनलाइन JSON सत्यापनकर्ता आज़माएँ।
JSON तुरंत सत्यापित करेंअक्सर पूछे जाने वाले प्रश्न
JSON सत्यापन क्या है?
JSON सत्यापन यह जाँचने की प्रक्रिया है कि JSON दस्तावेज़ सही सिंटैक्स नियमों का पालन करता है और वैकल्पिक रूप से एक परिभाषित Schema के अनुरूप है। सिंटैक्स सत्यापन सुनिश्चित करता है कि JSON अच्छी तरह से फ़ॉर्मेटेड है, जबकि Schema सत्यापन सुनिश्चित करता है कि डेटा संरचना अपेक्षित प्रकारों, आवश्यक फ़ील्ड और मान बाधाओं से मेल खाती है।
सबसे आम JSON त्रुटियाँ क्या हैं?
सबसे आम JSON त्रुटियों में शामिल हैं: अंतिम आइटम के बाद ट्रेलिंग कॉमा, डबल कोट्स के बजाय सिंगल कोट्स का उपयोग, अनकोटेड ऑब्जेक्ट कुंजियाँ, टिप्पणियाँ (JSON में अनुमति नहीं), और undefined या NaN मान। ये त्रुटियाँ JSON.parse() को SyntaxError फेंकने का कारण बनती हैं।
JavaScript में JSON कैसे सत्यापित करें?
JSON.parse() को try-catch ब्लॉक में लपेटकर उपयोग करें। यदि JSON अमान्य है, तो JSON.parse() SyntaxError फेंकता है जिसे आप पकड़ और संभाल सकते हैं। Schema सत्यापन के लिए, Ajv जैसी लाइब्रेरी का उपयोग करें जो JSON Schema सत्यापन लागू करती है।
JSON Schema क्या है?
JSON Schema एक शब्दावली है जो आपको JSON दस्तावेज़ों को एनोटेट और सत्यापित करने की अनुमति देती है। यह अपेक्षित संरचना, प्रकार, आवश्यक फ़ील्ड, मान श्रेणियाँ, स्ट्रिंग पैटर्न और नेस्टेड ऑब्जेक्ट संरचनाओं को परिभाषित करता है। आप इसका उपयोग बुनियादी सिंटैक्स शुद्धता से परे JSON डेटा को एक विशिष्ट प्रारूप के अनुरूप सत्यापित करने के लिए कर सकते हैं।
क्या JSON को ऑनलाइन सत्यापित किया जा सकता है?
हाँ, ToolHub JSON सत्यापनकर्ता जैसे ऑनलाइन JSON सत्यापन टूल आपको JSON डेटा पेस्ट करने और तुरंत देखने की अनुमति देते हैं कि यह मान्य है या नहीं, विस्तृत त्रुटि संदेशों के साथ जो सटीक पंक्ति और स्तंभ दिखाते हैं जहाँ त्रुटि हुई।