JSON Schema वैलिडेटर कैसे इस्तेमाल करें
- पहले एडिटर में JSON डॉक्यूमेंट और दूसरे में JSON Schema पेस्ट करें।
- Validate पर क्लिक करें।
- उल्लंघन तालिका देखें; हर पंक्ति बताती है कि कौन-सी वैल्यू क्यों विफल हुई।
JSON Schema वैलिडेटर की खूबियाँ
- draft-07, 2019-09 और 2020-12 के मुख्य कीवर्ड के विरुद्ध वैलिडेट करता है
- नेस्टेड ऑब्जेक्ट, ऐरे, टपल, enum, पैटर्न, फ़ॉर्मेट और संख्यात्मक सीमाएँ समर्थित
- allOf / anyOf / oneOf / not, if-then-else और लोकल $ref संभालता है
- हर उल्लंघन को JSON पाथ, कीवर्ड, संदेश और स्कीमा की जगह के साथ सूचीबद्ध करता है
- स्कीमा को खुद लिंट करता है और अज्ञात टाइप या अमान्य रेगुलर एक्सप्रेशन बताता है
- उल्लंघनों को CSV के रूप में एक्सपोर्ट करता है
JSON Schema वैलिडेटर का उदाहरण
यूज़र ऑब्जेक्ट को वैलिडेट करना
इनपुट:
Document: {"email":"layla@example","age":17}
Schema: {"type":"object","required":["id"],"properties":{"email":{"format":"email"},"age":{"minimum":18}}}आउटपुट:
$ required Missing required property "id".
$.email format String is not a valid email.
$.age minimum Value must be ≥ 18.JSON Schema वैलिडेटर के बारे में अक्सर पूछे जाने वाले सवाल
JSON Schema के कौन-से ड्राफ़्ट समर्थित हैं?
draft-07, 2019-09 और 2020-12 के मुख्य कीवर्ड: type, properties, required, enum, const, pattern, format, संख्यात्मक और लंबाई संबंधी शर्तें, items/prefixItems, contains, allOf/anyOf/oneOf/not, if/then/else, dependentRequired और लोकल $ref।
क्या रिमोट $ref संदर्भ हल किए जाते हैं?
सिर्फ़ लोकल संदर्भ (#/definitions/… और #/$defs/…) हल किए जाते हैं। रिमोट URL लोड नहीं किए जाते, इसलिए बाहरी स्कीमा पहले इनलाइन कर लें।
कौन-से स्ट्रिंग फ़ॉर्मेट जाँचे जाते हैं?
email, date-time, date, time, uuid, uri, hostname, ipv4, ipv6, regex और json-pointer। अज्ञात फ़ॉर्मेट अनदेखे कर दिए जाते हैं, जैसा विनिर्देश सुझाता है।
उल्लंघन कैसे बताए जाते हैं?
हर उल्लंघन में गड़बड़ वैल्यू का JSON पाथ, विफल हुआ स्कीमा कीवर्ड, आसान भाषा में संदेश और स्कीमा के भीतर उसकी जगह बताई जाती है।
तकनीकी नोट्स
यह वैलिडेटर बिना किसी बाहरी डिपेंडेंसी के बनाया गया है और कीवर्ड को रिकर्सिव रूप से जाँचते हुए इंस्टेंस पाथ तथा स्कीमा पाथ दोनों का हिसाब रखता है। $ref के साथ मौजूद सहोदर कीवर्ड भी जाँचे जाते हैं (2019-09+ वाला व्यवहार) और OpenAPI का nullable एक्सटेंशन भी माना जाता है।