Wat is de JSON-schemagenerator?

De JSON Schema Generator leest een voorbeeld JSON-waarde - een API-antwoord, een configuratiebestand, een webhook-payload - en schrijft een JSON-schema dat dit valideert. Het leidt het type van elk veld af, voegt een reeks objecten samen in een schema met één item in plaats van een luidruchtige unie, leidt af welke sleutels vereist zijn van de sleutels die in elke record aanwezig zijn, en kan tekenreeksformaten zoals datum-tijd, e-mail, uri en uuid taggen. U plakt gegevens die u al heeft; u krijgt het schema dat u anders clausule voor clausule zou schrijven.
Het schrijven van een schema met de hand is traag en gemakkelijk om subtiel fout te krijgen Het is verleidelijk om te typen wat je denkt dat een payload bevat, een genest veld mist, een af en toe-nul eigenschap markeert zoals vereist, of vergeet dat het ene eindpunt een array retourneert waar een ander een enkel object retourneert Een schema dat rechtstreeks uit echte gegevens wordt gegenereerd, begint bij de werkelijke vorm, dus het document dat je valideert komt overeen met wat de service werkelijk verzendt. Van daaruit scherpt u beperkingen - patronen, ops, minima - met de hand, maar de vervelende steiger is klaar.
Alles draait in uw browser De gevolgtrekkingsengine is afhankelijkheidsvrij TypeScript, geen wrapper rond een gehoste API, dus payloads - die routinematig tokens, e-mails en interne ID's bevatten - verlaten nooit de pagina Kies Draft-07 of het dialect van 2020-12, voeg een titel toe, schakel de detectie van het vereiste veld, de opmaakdetectie en de strikte `additionalProperties` in, kopieer vervolgens het schema of download het als een .json-bestand.
Het schema beschrijft uw voorbeeld in plaats van uw bedoeling, dus behandel de uitvoer als een eerste concept: de vereiste velden worden afgeleid uit wat er toevallig aanwezig is, en formaten worden gedetecteerd door middel van een patroon, dus een tekenreeks die op een datum lijkt, wordt zelfs als één getypt. wanneer het een identificatie is die er slechts op lijkt.
Hoe gebruik je de JSON-schemagenerator?
Plak je json
Laat een API-antwoord, een vaste waarde of een JSON-waarde vallen. Laad eerst het voorbeeld om te zien hoe geneste objecten, arrays van objecten en tekenreeksindelingen worden afgehandeld.
Kies het dialect
Kies Draft-07 voor de breedste tooling-ondersteuning of 2020-12 voor de huidige specificatie. De juiste $Schema URI wordt voor u op de uitvoer geschreven.
Stel uw opties in
Voeg een optionele titel toe, beslis of u een vereiste array wilt uitzenden, detecteer tekenreeksformaten en vergrendel objecten met extra eigenschappen: false voor strikte validatie.
genereren, dan kopiëren of downloaden
Druk op Genereer. Bekijk de afgeleide typen en vereiste velden en kopieer het schema vervolgens naar uw klembord of download het als een .json-bestand dat klaar is om in uw validator te worden geplaatst.
Belangrijkste kenmerken
Draft-07 en 2020-12 output
zend ofwel het breed ondersteunde Draft-07-dialect of de huidige 2020-12-specificatie uit. De overeenkomende $schema-ID is geschreven op de root, dus validators kiezen de juiste regels.
Slimme array samenvoegen
Een array van objecten wordt een schema voor een enkele items die één element beschrijven, niet een uitgestrekte. Sleutels die in elk element aanwezig zijn, zijn vereist; sleutels die in slechts enkele worden weergegeven, blijven optioneel.
gevolgtrekkingsverzoek
De generator leidt de vereiste array af uit sleutels die aanwezig zijn in elk object dat hij ziet, en dat is precies hoe echte gepagineerde gegevens zich gedragen - sommige velden zijn er altijd, andere niet.
String-indelingsdetectie
Herkent datum-tijd, datum, tijd, e-mail, URI, UUID en IPv4-tekenreeksen en tagt ze met het juiste formaatzoekwoord, waardoor u een validatie krijgt die u anders met de hand zou toevoegen.
Frequently Asked Questions
Related Tools
JSON Flattener
Flatten nested JSON into single-level dot-notation keys, or unflatten dotted keys back into nested objects and arrays. Lossless round trip. 100% client-side.
JSON to Go Struct
Convert JSON into Go struct definitions with json tags. Nested objects become inline structs, arrays of objects are merged, and field names follow Go conventions. Runs client-side.
JSON to TypeScript
Generate TypeScript interfaces from any JSON sample. Infers nested types, merges arrays of objects into a single interface, marks nullable and missing keys optional, and emits clean exportable code. 100% client-side.
JSONPath Tester
Test JSONPath expressions against any JSON and see the matched values and their paths instantly. Supports wildcards, recursive descent, slices, and filters. 100% client-side.
Comments
0 comments
No comments yet. Be the first to share your thoughts!