Zo gebruik je het
- Plak een JSON-voorbeeld, of klik op Voorbeeld laden.
- Stel de titel voor het hoofdschema in.
- Kopieer of download het schema, en voeg dan beperkingen toe zoals formats, patterns en bereiken.
Opties uitgelegd
- Naam van het hoofdtype
- Wordt gebruikt als de titel van het schema.
Voorbeelden
{"id": 1, "email": null} wordt een schema met "id": {"type": "integer"}, "email": {"type": "null"} en beide sleutels in required.
Voorbeeld
Twee gebruikersrecords, waarvan alleen de eerste een e-mailadres heeft en manager soms null is:
[
{ "id": 1, "name": "Ada", "email": "ada@example.com", "tags": ["admin"], "manager": null },
{ "id": 2, "name": "Grace", "tags": [], "manager": { "id": 1 } }
]
Met de naam van het hoofdtype ingesteld op User is het gegenereerde schema:
{
"$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 staat niet in required omdat het tweede record het niet heeft, en manager accepteert null of een object omdat beide in de voorbeeldgegevens voorkomen. Hoe gevarieerder je voorbeeldgegevens, hoe nauwkeuriger het schema — plak dus meerdere records in plaats van één.
Veelvoorkomend gebruik
API-invoer valideren. Laad het schema in een validator zoals Ajv (JavaScript) of jsonschema (Python) en weiger verzoeken die er niet mee overeenkomen.
Een API documenteren. Plak de properties als uitgangspunt in een OpenAPI-sectie components.schemas.
Automatisch aanvullen in de editor. VS Code en JetBrains-IDE’s kunnen een JSON Schema gebruiken om sleutels voor te stellen en fouten in JSON-configuratiebestanden te markeren.
Veelgestelde vragen
Welke sleutels worden als verplicht gemarkeerd?
Sleutels die in elk voorbeeldobject voorkomen. Als een array objecten met verschillende sleutels bevat, worden sleutels die in sommige items ontbreken weggelaten uit required.
Kan ik het gebruiken met OpenAPI?
OpenAPI 3.1 gebruikt JSON Schema 2020-12, dus het gegenereerde schema past onder components/schemas. Vervang voor OpenAPI 3.0 type-arrays zoals ["string", "null"] door nullable true.
Herkent het formats zoals email of date-time?
Nee. Het leidt alleen types af. Voeg format, pattern, minimum en soortgelijke keywords zelf toe waar nodig.
Wordt mijn JSON geüpload?
Nee. De types worden in je browser gegenereerd, zodat API-respons met echte data op je apparaat blijft.
Privacy
Deze tool draait volledig in je browser. Je bestanden en tekst worden op je eigen apparaat verwerkt en nooit naar onze servers geüpload.