JSON Schema Generator aur Validator
Ek sample se ek JSON Schema generate karein ya ek JSON document ko ek schema ke against validate karein, seedha apne browser mein. Aapka data kabhi aapke device se bahar nahi jaata.
Schema generation aur Ajv validation locally aapke browser mein chalte hain, isliye aapka JSON sample, schema aur document kabhi upload nahi hote.
Iski jagah TypeScript types chahiye? JSON to TypeScript try karein.
JSON Schema ke baare mein
Yeh JSON Schema generator ek JSON sample ko ek ready-to-use JSON Schema mein badal deta hai, aur built-in validator kisi bhi JSON document ko aapke diye gaye schema ke against check karta hai. Generate mode mein yeh aapke sample ko walk karta hai, objects, arrays, strings, numbers, booleans aur null ke liye types infer karta hai, array items ko unify karta hai, aur har property ko required mark kar sakta hai, additionalProperties ko false set kar sakta hai, aur email, date, date-time, uri aur uuid jaise string formats detect kar sakta hai. Output ke liye draft-07 ya 2020-12 chunein. Validate mode mein yeh allErrors aur ajv-formats ke saath Ajv chalata hai, phir har failure ko uske instance path aur message ke saath list karta hai. Yeh API developers, backend engineers aur un sabhi ke liye banaya gaya hai jo JSON contracts define ya test karte hain. Sab kuch aapke browser mein chalta hai, isliye jo sample aur schema aap paste karte hain woh aapke device par hi rehte hain.
Features
- Ek paste kiye JSON sample se ek JSON Schema infer karta hai, objects, arrays, strings, numbers, integers, booleans aur null ke liye sahi types ke saath
- Array elements ko ek items schema mein unify karta hai aur empty arrays ke liye items:{} emit karta hai
- Har property ko required mark karne ka toggle, per object
- Objects ko known keys tak lock karne ke liye additionalProperties:false toggle karein
- email, date, date-time, uri aur uuid values ke liye optional string-format inference
- draft-07 ya 2020-12 output chunein, jo $schema dialect set karta hai
- allErrors aur ajv-formats ke saath Ajv ka use karke kisi bhi JSON document ko ek schema ke against validate karein
- Generate hua schema copy karein ya use schema.json ke roop mein download karein
JSON Schema kaise use karein
- Ek schema banane ke liye Generate chunein, ya ek document check karne ke liye Validate.
- Generate mein, ek JSON sample paste karein aur required, additionalProperties aur format options toggle karein.
- draft-07 ya 2020-12 chunein, phir resulting schema.json copy ya download karein.
- Validate mein, left side par ek JSON Schema aur right side par ek JSON document paste karein.
- valid/invalid badge aur errors ki list padhein, har ek ek instance path ke saath.
Example
Input
{
"id": 1,
"name": "Ada",
"email": "ada@example.com",
"tags": ["a", "b"]
}
Output
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": { "type": "integer" },
"name": { "type": "string" },
"email": { "type": "string", "format": "email" },
"tags": { "type": "array", "items": { "type": "string" } }
},
"required": ["id", "name", "email", "tags"]
}
required aur format inference on hone par, sample ek draft-07 schema deta hai.
Common errors aur troubleshooting
- Har key maujood hone ke baad bhi generated schema mein koi required array nahi hai. — "Mark all properties required" on karein; by default generator sirf types infer karta hai aur required khaali chhodta hai taaki optional fields over-constrain na hon.
- Validation document check karne se pehle "Invalid JSON Schema" report karta hai. — Schema pane khud ek valid JSON object hona chahiye jise Ajv compile kar sake; pehle schema mein JSON syntax ya unknown keywords theek karein.
- Ek value jo ek date jaisi dikhti hai woh ek plain string type hoti hai. — "Infer string formats" enable karein. Detection conservative hai aur ek format sirf tab add karta hai jab sample value email, date, date-time, uri ya uuid pattern se match kare.
- Ek 2020-12 schema draft-07 expect karne wale validator dwara reject hota hai. — draft selector ko apne target se match karne par switch karein. Yeh sirf $schema URL aur dono drafts ke beech ke minor dialect differences badalta hai.
Aksar pooche jaane wale sawaal
- Generator kaun sa JSON Schema draft use karta hai?
- Default roop se Draft-07, 2020-12 ke ek option ke saath. Yeh choice output par $schema dialect URL aur drafts ke beech ke minor differences set karti hai; inferred structure baaki same rehta hai.
- Schema generate karte waqt required properties kaise decide hoti hain?
- Default roop se koi property required mark nahi hoti, isliye schema partial objects accept karta hai. Har object ki har key ko uske required array mein add karne ke liye "Mark all properties required" on karein.
- Validator errors kaise report karta hai?
- Yeh allErrors enabled ke saath Ajv chalata hai, isliye aapko ek saath har failure milti hai. Har error JSON instance path (jaise /items/0/id) aur ek human-readable message dikhata hai, missing required keys aur unexpected additional properties samet.
- Kya generator email ya date jaise string formats infer karta hai?
- Haan, jab "Infer string formats" on ho. Yeh sample string values ko email, date, date-time, uri aur uuid ke patterns ke against check karta hai aur matching format keyword add karta hai; jo values kisi se match nahi karti woh plain strings rehti hain.
- Yeh arrays ke liye schema kaise infer karta hai?
- Yeh saare array elements ke schemas ko ek single items schema mein merge karta hai. Mixed object elements property-by-property merge hote hain, kisi bhi element se missing key required se nikal jaati hai, aur ek empty array items:{} ban jaata hai.
- Kya mera JSON sample ya schema kahin upload hota hai?
- Nahi. Generation aur validation, Ajv samet, poori tarah aapke browser mein chalte hain, isliye jo sample, schema aur document aap paste karte hain woh locally process hote hain aur aapke device par hi rehte hain.
Related tools
- JSON Formatter — JSON ko beautify, minify aur validate karein, error ki location ke saath.
- JSON se TypeScript — Ek JSON sample se TypeScript interfaces generate karein.
- JSON Viewer — Text aur collapsible tree viewer, expand/collapse aur node paths ke saath.
- JSON Diff — Do JSON documents compare karke structural diff dekhein.
- JSON se Code — JSON se Go, Rust, Python, Java, Kotlin, C# aur TypeScript types generate karein.
- OpenAPI / Swagger Formatter — OpenAPI / Swagger specs (JSON ya YAML) ko format aur validate karein, aur paths tatha operations ginein.
Saare ArrayKit tools