JSON Schema-generator & -validator

Generér et JSON Schema (draft-07) ud fra eksempel-JSON-data, eller validér et hvilket som helst JSON-dokument mod et hvilket som helst skema med præcise fejlmeddelelser. Også: JSON-formatter | JSONPath-evaluator | Alle JSON-værktøjer.
Al behandling sker lokalt i browseren — intet uploades.
Generér skema Validér data
Indsæt nedenfor ét JSON-objekt (eller et array af objekter — egenskaber flettes, og required samles). Skemaet udledes; redigér det bagefter, hvis der er brug for strengere regler.
Inkluder $schema-header — sætter draft-07-erklæringen først, så validatorer ved, hvilken dialekt skemaet bruger. Eksempel: "$schema": "http://json-schema.org/draft-07/schema#"
Markér required-nøgler — tilføjer hver nøgle, der findes i eksempel-JSON'en, til listen over påkrævede. Eksempel: "required": ["name", "price", "inStock"]
Samlet små værdisæt til enum — når et skalararray har 2–8 unikke værdier, indsnævres elementtypen til en enum. Eksempel: "tags": ["sale", "new", "sale"] → "tags": {"type": "array", "items": {"type": "string", "enum": ["sale", "new"]}}
Registrér almindelige strengformater — genkender ISO-datoer, datotider, UUID'er, e-mails og URL'er og tilføjer format. Eksempel: "createdAt": {"type": "string", "format": "date-time"}
Generatornoter: heltal bliver til "integer"; strenge får kun format, når formatfeltet er afkrydset; flere JSON-objekter i et array flettes (nøgler af samme type beholder den første type, blandede typer falder tilbage til et type-array; required er foreningen af alle eksempler). Med Validér data rapporteres hver fejlende regel med sin JSON-pointer-sti (fx .items[0].price), så man kan hoppe direkte til den pågældende værdi.
JSON Schema — en kontrakt, ikke et typesystem

Et JSON Schema beskriver, hvordan et gyldigt dokument skal se ud: hvilke nøgler der er påkrævet, hvilke typer værdierne har, intervaller og mønstre. Validering tjekker data mod den kontrakt; den transformerer intet. Skemaer er versioneret efter draft — denne side genererer draft-07, den mest understøttede dialekt; 2020-12 er den nuværende.

Et genereret skema er et gæt ud fra eksempler — stram required, enum og format manuelt.