Hoppa till innehåll
100% lokalt

JSON-schema-generator

Generera ett JSON-schema från ett exempel-JSON-dokument, inklusive typer, kapslade objekt och format.

Inmatning
Utmatning

JSON-schema-generator

Klistra in ett exempel-JSON-dokument — ett API-svar, en konfigurationsfil, en databasexport — och detta verktyg härleder ett JSON-schema som beskriver dess form: typen för varje fält, vilka som är kapslade objekt eller matriser, och hur de passar ihop. Det är ett snabbt sätt att starta validering för en nyttolast du redan har, utan att skriva varje egenskap själv.

Välj schema-versionen som dina verktyg förväntar: draft-07 eller 2020-12. Markera varje nyckel som obligatorisk, eller låt schemat vara tillåtande utan någon obligatorisk lista. Förbjud ytterligare egenskaper för att fånga stavfel och oväntade fält, eller härled format som e-post, URI, UUID och datum-tid direkt från exempelvärdena. Om du aktiverar längd- och intervallgränser läggs minLength/maxLength och minimum/maximum gränser till som tas direkt från det du klistrade in, och om du lägger till beskrivningar från fältnamn omvandlas "firstName" automatiskt till en beskrivning på naturligt språk. När ett exempel har djupt kapslade objekt extraherar definitioner varje kapslad form till sin egen återanvändbar post istället för att infoga den överallt där den används.

Om du har mer än ett exempel på samma post klistrar du en JSON-värde per rad och aktiverar sammanslagning av flera prover: verktyget kombinerar dem till ett enda schema som återspeglar föreningen av varje fält och typ det såg, istället för att bara generera ett schema för den första. Verktyget accepterar både Windows- och Unix-radslut, och tällingen under utgången rapporterar hur många egenskaper det detekterade när du skriver.

Allt körs lokalt i din webbläsare: ditt JSON laddas aldrig upp eller skickas till en server. Kopiera det genererade schemat, ladda ner det som en .txt-fil, eller skicka utgången direkt tillbaka till inmatningen för att förfina det ytterligare.

FAQ

Vad är skillnaden mellan draft-07 och 2020-12?
Båda är giltiga JSON-schemaversioner med något olika nyckelnamn — till exempel använder 2020-12 $defs där draft-07 använder definitions. Välj vilket dina validerings- eller verktyg förväntar.
Kan jag generera ett schema från mer än ett exempel?
Ja. Aktivera sammanslagning av flera prover och klistra in ett JSON-värde per rad — verktyget kombinerar dem till ett enda schema som täcker varje fält och typ det såg över alla prover.
Gissar det format som e-post eller UUID?
När formatinferens är aktiverad får strängvärden som matchar ett känt mönster — e-postadress, URI, UUID eller ISO-datum-tid — ett motsvarande formatnyckelord, men bara när varje exempelvärde för det fältet är överens.
Kommer schemat att avvisa fält som jag inte inkluderade i mitt exempel?
Bara om du aktiverar "Förbjud ytterligare egenskaper". Som standard beskriver schemat bara vad det såg och tillåter extra fält.
Laddas mitt JSON upp någonstans?
Nej. Schemagenering körs helt i din webbläsare — ditt JSON lämnar aldrig din enhet.