JSON Schema सत्यापनकर्ता
JSON डेटा को JSON Schema परिभाषाओं के साथ सत्यापित करें। पथ सहित विस्तृत त्रुटि रिपोर्ट पाएँ। सारी प्रोसेसिंग आपके ब्राउज़र में होती है।
दिए गए schema के साथ JSON डेटा मान्य है!
| पथ | त्रुटि |
|---|
JSON Schema सत्यापनकर्ता का उपयोग कैसे करें
Schema लिखें
अपेक्षित संरचना का वर्णन करने वाला अपना JSON Schema परिभाषित करें।
डेटा लिखें
वह JSON डेटा पेस्ट करें जिसे आप schema के साथ सत्यापित करना चाहते हैं।
सत्यापित करें
सत्यापित करें पर क्लिक करें और किसी भी त्रुटि के लिए परिणाम देखें।
JSON Schema क्या है?
JSON Schema एक शब्दावली है जिससे आप JSON दस्तावेज़ों को एनोटेट और सत्यापित कर सकते हैं। यह किसी एप्लिकेशन के लिए कौन सा JSON डेटा चाहिए और उसके साथ कैसे इंटरैक्ट करें, इसका अनुबंध देता है। JSON Schema का उपयोग सत्यापन, दस्तावेज़ीकरण और मॉक डेटा बनाने में होता है।
मुख्य विशेषताएँ
प्रकार सत्यापन
प्रकार सत्यापित करें: string, number, integer, boolean, array, object, null
बाधाएँ
न्यूनतम/अधिकतम लंबाई, सीमा, पैटर्न, अनिवार्य फ़ील्ड और भी बहुत कुछ
संरचना परिभाषा
नेस्टेड ऑब्जेक्ट, ऐरे और जटिल डेटा संरचनाएँ परिभाषित करें
अक्सर पूछे जाने वाले प्रश्न
यह टूल Ajv लाइब्रेरी के ज़रिए JSON Schema Draft-07, Draft 2019-09 और Draft 2020-12 समर्थन करता है। सबसे आम schema सुविधाएँ समर्थित हैं।
हाँ! JSON Schema गहराई तक नेस्टेड ऑब्जेक्ट और ऐरे समर्थन करता है। आप नेस्टिंग के किसी भी स्तर पर properties और items परिभाषित कर सकते हैं, हर फ़ील्ड के लिए अलग सत्यापन नियमों के साथ।
टूल पहले जाँचता है कि आपका schema खुद मान्य JSON Schema है या नहीं। schema में त्रुटियाँ हों तो डेटा सत्यापित करने की कोशिश से पहले ही उन्हें रिपोर्ट कर दिया जाता है।
type (string, number, object, array, boolean, null), नेस्टेड schema वाले properties, अनिवार्य कुंजियों की सूची देने वाला required, निश्चित मान-समुच्चय के लिए enum, regex-बद्ध स्ट्रिंग के लिए pattern, और सीमा जाँचें minimum/maximum तथा minLength/maxLength। additionalProperties: false ऑब्जेक्ट को अतिरिक्त कुंजियों के ख़िलाफ़ कसता है। ये मिलकर API सत्यापन नियमों का बड़ा हिस्सा कवर करते हैं।
आधुनिक JSON Schema में format डिफ़ॉल्ट रूप से एक एनोटेशन है, स्वचालित अभिकथन नहीं - सत्यापक इसे केवल कॉन्फ़िगर करने पर लागू करते हैं, जिसे 2020-12 स्पेक ने अलग format-assertion शब्दावली से स्पष्ट किया। जब लागू होना गारंटीड हो वहाँ pattern या कस्टम कीवर्ड इस्तेमाल करें, वरना format को इंटरऑपरेबिलिटी मेटाडेटा समझें।
#/$defs/address की ओर इशारा करता $ref, $defs के अंतर्गत एक schema खंड को संदर्भित करता है और जहाँ उपयोग होता है वहीं उसके साथ सत्यापन करता है - यही डी-डुप्लिकेशन तंत्र है। Draft 2020-12 ने पुराने definitions का नाम $defs किया और कमेंट ट्री जैसी रिकर्सिव संरचनाओं के लिए $dynamicRef को औपचारिक रूप दिया। संदर्भ बाहरी दस्तावेज़ों की ओर भी इशारा कर सकते हैं, हालाँकि स्थानीय रूप से बंडल करना ज़्यादा आम है।
allOf के लिए हर सबस्कीमा मान्य होना चाहिए - यह एक प्रतिच्छेदन है, बेस schema में अतिरिक्त बाधाएँ जोड़ने के लिए। anyOf के लिए कम से कम एक चाहिए - यह संघ है, पॉलीमॉर्फ़िक पेलोड के लिए। oneOf के लिए ठीक एक चाहिए; दो या शून्य सबस्कीमा मान्य होने पर असफल होता है, जो लोग जितना सोचते हैं उससे सख़्त है और ओवरलैपिंग schema में अचानक त्रुटियों का आम कारण है।
2020-12 ने स्पेसिफिकेशन को अलग-अलग सक्रिय किए जा सकने वाली शब्दावलियों में बाँटा (validation, annotation, format-assertion), definitions का नाम $defs किया, exclusiveMinimum को सादा संख्या में सरल किया, और पुराने items कीवर्ड की जगह prefixItems साथ में items दिया। ज़्यादातर टूलिंग दोनों समर्थन करती है; draft-07 अब भी सबसे व्यापक रूप से तैनात है, पर 2020-12 वर्तमान प्रकाशित मानक है।
संबंधित टूल्स
प्रामाणिक संदर्भ
इस टूल के पीछे के मूल स्रोत — दूसरे हाथ के सार नहीं, बल्कि आधिकारिक स्टैंडर्ड और स्पेसिफिकेशन।
JSON Schema - 2020-12 Validation Specification
JSON Schema 2020-12 वैलिडेशन स्पेसिफिकेशन — वर्तमान प्रकाशित मानक।
JSON Schema - Learn
JSON Schema की आधिकारिक लर्निंग साइट, बेसिक से $ref और $defs तक।
JSON Schema - Wikipedia
JSON Schema क्या वैलिडेट करता है, और API अनुबंधों व कॉन्फ़िग वैलिडेशन में उसकी भूमिका।