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

JSON Schema kaise use karein

  1. Ek schema banane ke liye Generate chunein, ya ek document check karne ke liye Validate.
  2. Generate mein, ek JSON sample paste karein aur required, additionalProperties aur format options toggle karein.
  3. draft-07 ya 2020-12 chunein, phir resulting schema.json copy ya download karein.
  4. Validate mein, left side par ek JSON Schema aur right side par ek JSON document paste karein.
  5. 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

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

Saare ArrayKit tools