मुख्य बिंदु
- 01Ajv द्वारा powered, most widely used JavaScript JSON Schema validator — जो यहाँ pass करता है वह Node.js, Fastify, और most JS toolchains में pass करता है।
- 02हर validation error को एक बार report करता है (allErrors mode), बस first failure नहीं।
- 03प्रत्येक error failing field के लिए JSON Pointer path include करता है quick navigation के लिए।
- 04Schema और data दोनों पूरी तरह से आपके ब्राउज़र में चलते हैं — कुछ भी upload नहीं।
JSON को Schema के Against क्यों Validate करें?
JSON Schema JSON document के shape को describe करने का standard way है — required fields, allowed types, value constraints, nested object structures। एक schema के against validating करना एक payload production में reach करने से पहले type mismatches, missing required fields, और constraint violations को catch करता है, जब वह fix करने के लिए cheap होते हैं।
सबसे common use cases API request और response bodies को testing करना, configuration files को validate करना, OpenAPI example objects को check करना, और data exports को एक known structure के against verify करना। Handytool का validator Ajv का उपयोग करता है — de-facto JavaScript JSON Schema library, Node.js के inside use की गई — तो results यहाँ जो आपके backend देखेगा उसे match करते हैं।
JSON को Schema के Against कैसे Validate करें
- 01
अपना JSON Schema paste करें
Left panel में schema को paste करें। यह एक Draft 7 या 2019-09 या 2020-12 schema हो सकता है जिसमें type, properties, required, items, anyOf, allOf — कोई भी standard Ajv-supported keyword।
- 02
अपना JSON data paste करें
Right panel में validate करना चाहते हैं उस data document को paste करें। यह instance है — एक API request body, एक config object, एक export record, या आपके OpenAPI spec से एक single example।
- 03
Validate पर क्लिक करें
Ajv validation को allErrors: true के साथ run करता है, मतलब यह हर failure को collect करता है बस first एक के बजाय।
- 04
Error list को review करें
प्रत्येक error failing value के लिए JSON Pointer path दिखाता है (उदा. /user/email), failing keyword (type, required, minimum), और एक human-readable message। प्रत्येक एक को fix करें और re-validate करें।
Developers JSON Schema के साथ क्या Validate करते हैं
- 01REST API request bodies — confirm एक payload भेजने से पहले endpoint के expected shape को match करता है।
- 02OpenAPI spec example objects — inline schema component के against प्रत्येक example को validate करें।
- 03Configuration files — ensure required keys present हैं और values right type हैं।
- 04Data pipeline records — spot structural drift data producers और consumers के बीच।
- 05Form submission payloads — test करें कि frontend validation backend schema constraints को mirror करता है।
- 06Third-party webhook bodies — confirm documented schema actual payload को match करता है।
निजी Validation, कोई Server आवश्यक नहीं
Ajv पूरी तरह से आपके ब्राउज़र में चलता है। न schema न ही data किसी भी server को भेजा जाता है — आप safely schemas validate कर सकते हैं जो internal data structures को describe करते हैं और data objects जिनमें sensitive field values हों।
Validator JSON Schema drafts 6, 7, 2019-09, और 2020-12 को support करता है। सबसे common draft wild में Draft 7 है, जो सभी everyday keywords को cover करता है: type, properties, required, items, minimum, maximum, pattern, enum, anyOf, allOf, oneOf, not, और $ref।
JSON Schema Validator FAQ
कौन सी JSON Schema drafts support की जाती हैं?
Ajv drafts 6, 7, 2019-09, और 2020-12 को support करता है। Draft 7 existing codebases में most common है और सभी standard keywords को cover करता है।
मेरा $ref schema क्यों resolve नहीं होता?
External $ref URLs इस browser-only tool में fetch नहीं होते हैं। $defs और local JSON pointers जैसे #/$defs/MyType का उपयोग करके सभी referenced schemas को inline करें।
क्या मेरा schema या data किसी सर्वर को अपलोड किया जाता है?
नहीं। Ajv पूरी तरह से आपके ब्राउज़र में चलता है — schema और data दोनों आपके device पर रहते हैं।
क्या मैं इसका उपयोग एक OpenAPI 3 spec को validate करने के लिए कर सकता हूँ?
आप individual schema components और example objects को validate कर सकते हैं। पूरे OpenAPI document को validate करने के लिए एक dedicated OpenAPI validator की जरूरत है जो spec meta-schema को समझता है।
मुझे multiple errors के बजाय सिर्फ first एक क्यों दिखाई देते हैं?
Validator को allErrors: true के साथ configure किया जाता है, जो Ajv को हर failure को collect करता है बस first एक के बजाय। यह intentional है — आप repeated validation attempts बनाने के बजाय एक pass में सभी issues को fix कर सकते हैं।