Validation, documentation और API contracts के लिए अपने JSON sample data से schema definitions बनाने हेतु इस online JSON Schema generator का उपयोग करें।
स्टेप 1 – अपना JSON sample दें
- Left editor में एक representative JSON object या array paste करें।
- Real production data उपयोग करें ताकि schema सही data structure reflect करे।
- सभी possible field values और nested structures के उदाहरण शामिल करें।
स्टेप 2 – Generated schema review करें
- Right side पर schema inferred types, required fields और structure definitions के साथ दिखाई देगा।
- Check करें कि array items, nested objects और property types आपकी अपेक्षाओं से match कर रहे हैं।
- Verify करें कि optional vs required fields सही पहचाने गए हैं।
स्टेप 3 – Schema customize करें (optional)
- Generated schema copy करें और custom validation rules, descriptions या constraints जोड़ें।
- ज़रूरत के अनुसार
enum values, minLength/maxLength, या pattern regex जोड़ें। - Union types के लिए
oneOf या anyOf define करें।
स्टेप 4 – Schema उपयोग करें
- Schema को download या copy करके JSON validators, API documentation tools या code generators के साथ उपयोग करें।
- Ajv (JavaScript), jsonschema (Python) जैसी validation libraries के साथ integrate करें।
- Schema को OpenAPI/Swagger specs में reference करें या type-safe code generate करने के लिए उपयोग करें।
Schema generation के लिए quick tips
- Production में उपयोग करने से पहले generated schema को JSON validator या runtime library से validate जरूर करें।
- Realistic sample data उपयोग करें ताकि generator सही types और required properties infer कर सके।
- Environments के बीच drift से बचने के लिए प्रति payload (जैसे API request/response) एक canonical schema रखें।
Schema keyword support note
यदि आप advanced keywords जैसे $ref, anyOf, oneOf, या allOf जोड़ते हैं, तो full JSON Schema validator (उदाहरण: Ajv) से validate करें और mock data generate करने से पहले schema dereference करने पर विचार करें।
उदाहरण: JSON से JSON Schema
// JSON input
{
"id": 1,
"name": "Maeve Winters",
"email": "[email protected]",
"active": true,
"tags": ["developer", "backend"]
}
// Generated JSON Schema (simplified)
{
"type": "object",
"properties": {
"id": { "type": "number" },
"name": { "type": "string" },
"email": { "type": "string" },
"active": { "type": "boolean" },
"tags": {
"type": "array",
"items": { "type": "string" }
}
},
"required": ["id", "name", "email", "active", "tags"]
}