JSON Schema सत्यापनकर्ता

JSON डेटा को JSON Schema परिभाषाओं के साथ सत्यापित करें। पथ सहित विस्तृत त्रुटि रिपोर्ट पाएँ। सारी प्रोसेसिंग आपके ब्राउज़र में होती है।

तुरंत सत्यापन त्रुटि विवरण क्लाइंट-साइड प्रोसेसिंग

JSON Schema सत्यापनकर्ता का उपयोग कैसे करें

1

Schema लिखें

अपेक्षित संरचना का वर्णन करने वाला अपना JSON Schema परिभाषित करें।

2

डेटा लिखें

वह JSON डेटा पेस्ट करें जिसे आप schema के साथ सत्यापित करना चाहते हैं।

3

सत्यापित करें

सत्यापित करें पर क्लिक करें और किसी भी त्रुटि के लिए परिणाम देखें।

JSON Schema क्या है?

JSON Schema एक शब्दावली है जिससे आप JSON दस्तावेज़ों को एनोटेट और सत्यापित कर सकते हैं। यह किसी एप्लिकेशन के लिए कौन सा JSON डेटा चाहिए और उसके साथ कैसे इंटरैक्ट करें, इसका अनुबंध देता है। JSON Schema का उपयोग सत्यापन, दस्तावेज़ीकरण और मॉक डेटा बनाने में होता है।

मुख्य विशेषताएँ

प्रकार सत्यापन

प्रकार सत्यापित करें: string, number, integer, boolean, array, object, null

बाधाएँ

न्यूनतम/अधिकतम लंबाई, सीमा, पैटर्न, अनिवार्य फ़ील्ड और भी बहुत कुछ

संरचना परिभाषा

नेस्टेड ऑब्जेक्ट, ऐरे और जटिल डेटा संरचनाएँ परिभाषित करें

अक्सर पूछे जाने वाले प्रश्न

JSON Schema का कौन सा संस्करण समर्थित है?

यह टूल Ajv लाइब्रेरी के ज़रिए JSON Schema Draft-07, Draft 2019-09 और Draft 2020-12 समर्थन करता है। सबसे आम schema सुविधाएँ समर्थित हैं।

क्या मैं नेस्टेड ऑब्जेक्ट सत्यापित कर सकता हूँ?

हाँ! JSON Schema गहराई तक नेस्टेड ऑब्जेक्ट और ऐरे समर्थन करता है। आप नेस्टिंग के किसी भी स्तर पर properties और items परिभाषित कर सकते हैं, हर फ़ील्ड के लिए अलग सत्यापन नियमों के साथ।

अगर मेरा schema अमान्य हो तो क्या होगा?

टूल पहले जाँचता है कि आपका schema खुद मान्य JSON Schema है या नहीं। schema में त्रुटियाँ हों तो डेटा सत्यापित करने की कोशिश से पहले ही उन्हें रिपोर्ट कर दिया जाता है।

कौन-कौन से JSON Schema कीवर्ड सबसे ज़्यादा उपयोग होते हैं?

type (string, number, object, array, boolean, null), नेस्टेड schema वाले properties, अनिवार्य कुंजियों की सूची देने वाला required, निश्चित मान-समुच्चय के लिए enum, regex-बद्ध स्ट्रिंग के लिए pattern, और सीमा जाँचें minimum/maximum तथा minLength/maxLength। additionalProperties: false ऑब्जेक्ट को अतिरिक्त कुंजियों के ख़िलाफ़ कसता है। ये मिलकर API सत्यापन नियमों का बड़ा हिस्सा कवर करते हैं।

date-time और email जैसे format कीवर्ड कैसे व्यवहार करते हैं?

आधुनिक JSON Schema में format डिफ़ॉल्ट रूप से एक एनोटेशन है, स्वचालित अभिकथन नहीं - सत्यापक इसे केवल कॉन्फ़िगर करने पर लागू करते हैं, जिसे 2020-12 स्पेक ने अलग format-assertion शब्दावली से स्पष्ट किया। जब लागू होना गारंटीड हो वहाँ pattern या कस्टम कीवर्ड इस्तेमाल करें, वरना format को इंटरऑपरेबिलिटी मेटाडेटा समझें।

$ref क्या है और schema पुनःउपयोग कैसे काम करता है?

#/$defs/address की ओर इशारा करता $ref, $defs के अंतर्गत एक schema खंड को संदर्भित करता है और जहाँ उपयोग होता है वहीं उसके साथ सत्यापन करता है - यही डी-डुप्लिकेशन तंत्र है। Draft 2020-12 ने पुराने definitions का नाम $defs किया और कमेंट ट्री जैसी रिकर्सिव संरचनाओं के लिए $dynamicRef को औपचारिक रूप दिया। संदर्भ बाहरी दस्तावेज़ों की ओर भी इशारा कर सकते हैं, हालाँकि स्थानीय रूप से बंडल करना ज़्यादा आम है।

oneOf, anyOf और allOf में क्या अंतर है?

allOf के लिए हर सबस्कीमा मान्य होना चाहिए - यह एक प्रतिच्छेदन है, बेस schema में अतिरिक्त बाधाएँ जोड़ने के लिए। anyOf के लिए कम से कम एक चाहिए - यह संघ है, पॉलीमॉर्फ़िक पेलोड के लिए। oneOf के लिए ठीक एक चाहिए; दो या शून्य सबस्कीमा मान्य होने पर असफल होता है, जो लोग जितना सोचते हैं उससे सख़्त है और ओवरलैपिंग schema में अचानक त्रुटियों का आम कारण है।

draft-07 और 2020-12 के बीच क्या बदला?

2020-12 ने स्पेसिफिकेशन को अलग-अलग सक्रिय किए जा सकने वाली शब्दावलियों में बाँटा (validation, annotation, format-assertion), definitions का नाम $defs किया, exclusiveMinimum को सादा संख्या में सरल किया, और पुराने items कीवर्ड की जगह prefixItems साथ में items दिया। ज़्यादातर टूलिंग दोनों समर्थन करती है; draft-07 अब भी सबसे व्यापक रूप से तैनात है, पर 2020-12 वर्तमान प्रकाशित मानक है।

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}