कैसे इस्तेमाल करें
- Sample JSON paste करें।
- Draft-07 या चुना हुआ schema version और required field options चुनें।
- Generated schema जाँचें और copy करें।
विकल्पों की जानकारी
- Types
- String, number, integer, boolean, null, object और array values से JSON Schema types बनते हैं।
- Required fields
- चाहें तो sample में मौजूद properties को required array में रखा जा सकता है।
- Arrays
- Array items के sample से items schema बनती है; mixed types हों तो इसे हाथ से review करें।
उदाहरण
{"id": 1, "email": null} एक स्कीमा बन जाता है जिसमें "id": {"type": "integer"}, "email": {"type": "null"} और दोनों कुंजियाँ required में हैं।
एक और उदाहरण
दो यूज़र रिकॉर्ड, जिनमें सिर्फ़ पहले में email है और manager कभी-कभी null है:
[
{ "id": 1, "name": "Ada", "email": "ada@example.com", "tags": ["admin"], "manager": null },
{ "id": 2, "name": "Grace", "tags": [], "manager": { "id": 1 } }
]
रूट टाइप नाम User सेट करने पर बनने वाला स्कीमा यह है:
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "User",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": { "type": "integer" },
"name": { "type": "string" },
"email": { "type": "string" },
"tags": { "type": "array", "items": { "type": "string" } },
"manager": {
"anyOf": [
{ "type": "null" },
{ "type": "object", "properties": { "id": { "type": "integer" } }, "required": ["id"] }
]
}
},
"required": ["id", "name", "tags", "manager"]
}
}
email को required से बाहर रखा गया है क्योंकि दूसरे रिकॉर्ड में वह नहीं है, और manager null या ऑब्जेक्ट दोनों स्वीकार करता है क्योंकि नमूने में दोनों दिखते हैं। आपका नमूना डेटा जितना विविध होगा, स्कीमा उतना सटीक होगा — एक के बजाय कई रिकॉर्ड पेस्ट करें।
आम उपयोग
API इनपुट की जाँच। स्कीमा को Ajv (JavaScript) या jsonschema (Python) जैसे वैलिडेटर में लोड करें और जो रिक्वेस्ट मेल न खाएँ उन्हें ठुकरा दें।
API का दस्तावेज़ बनाना। शुरुआत के लिए properties को OpenAPI के components.schemas सेक्शन में पेस्ट करें।
एडिटर में ऑटोकम्प्लीशन। VS Code और JetBrains IDE JSON कॉन्फ़िगरेशन फ़ाइलों में कुंजियाँ सुझाने और गलतियाँ चिह्नित करने के लिए JSON Schema इस्तेमाल कर सकते हैं।
अक्सर पूछे जाने वाले सवाल
क्या schema पूरे future data को describe करेगी?
Schema sample से infer होती है। Optional fields, alternate values और limits जैसे min/max आपको जोड़ने पड़ सकते हैं।
क्या JSON Schema data validate भी करती है?
यह page schema बनाता है; validation के लिए schema को validator या application में उपयोग करें।
क्या input upload होता है?
नहीं। Schema browser में generate होती है।
प्राइवेसी
यह टूल पूरी तरह आपके ब्राउज़र में चलता है। आपकी फ़ाइलें और टेक्स्ट आपके डिवाइस पर ही प्रोसेस होते हैं और हमारे सर्वर पर कभी अपलोड नहीं होते।