Generator voor JSON-schema's
Genereer een JSON Schema (Draft 2020-12) vanuit een voorbeeld JSON-document. Slimme formaatdetectie.
Snel antwoord: Generator voor JSON-schema's: maak een JSON-schema (Draft 2020-12) op basis van een voorbeeld-JSON-document. Slimme formaatdetectie. Werkt volledig in je browser, gratis en zonder registratie.
Laatst bijgewerkt
Goed om te weten
A schema generated from a single example is a starting point, not a finished contract. Because the tool sees one document, it marks every property as required and pins each type exactly. That is usually too strict for real APIs, where fields come and go and some values are legitimately null. Expect to prune the required array and widen types before you ship the schema to production validation.
The format detection is genuinely useful: strings that look like ISO 8601 timestamps, email addresses, or URIs get the matching format keyword, which downstream validators such as Ajv can enforce. Draft 2020-12 is the output dialect, so it plays nicely with modern tooling, but note that some format checks are opt-in and must be enabled in your validator's configuration.
If your data varies across records, generate a schema from a few representative samples and merge them by taking the union of properties and the intersection of required keys. For editing the resulting document, pretty-printing it, or converting between formats, pair this with the JSON formatter. Reserve heavyweight schema-inference libraries for when you need enums, pattern constraints, or multi-file references.
Veelgestelde vragen
- Waarom is mijn schema te strikt?
- We infereren uit een enkel voorbeeld, dus elk veld is vereist en typen zijn exact. Versoepel het schema door sleutels uit de <code>required</code> array te verwijderen of gebruik <code>type: ["string", "null"]</code> voor nullable velden.
- Welke versie is de output?
- JSON Schema Draft 2020-12, de laatste stabiele versie. Het is compatibel met alle moderne validators (Ajv, JSON Schema Validator, enz.).
- Zal het e-mails, URL's en datums detecteren?
- Ja — tekenreekswaarden die overeenkomen met e-mail, datum-tijd (ISO 8601) en URL-patronen krijgen de bijbehorende <code>format</code> annotatie.
- Worden mijn JSON-bestanden geüpload?
- Nee — inferentie draait volledig in je browser.
- Hoe inferereer ik uit meerdere voorbeelden?
- Genereer een schema uit elk voorbeeld, combineer deze dan met de hand (of gebruik een tool zoals <code>quicktype</code>) — het nemen van de unie van eigenschappen en de snede van vereiste sleutels geeft een schema dat bij alle voorbeelden past.