Preskoči na vsebino
100% lokalno

JSON Schema generator

Generiraj JSON shemo iz primera JSON dokumenta, vključno s tipi, ugnezdenim predmeti in oblikami.

Vhod
Izhod

JSON Schema generator

Prilepite primer JSON dokumenta — odgovore API-ja, datoteke konfiguracije, izvoz baze podatkov — in to orodje sklepa JSON shemo, ki opisuje njeno strukturo: tip vsakega polja, katera so ugnezdeni predmeti ali nizi, in kako se med seboj ujemajo. To je hiter način za zagotavljanje veljavnosti opterećenja, ki ga že imate, brez ročnega pisanja vsakega svojstva.

Izberite različico sheme, ki jo pričakuje vaš pripomočin alat: draft-07 ali 2020-12. Označite vsak ključ kot obvezen ali pustite shemo permisivno brez seznama obveznih polj. Prepovedujem dodatne lastnosti, da bi ujeli tipke in nepričakovana polja, ali sklepaj oblike, kot so email, URI, UUID in date-time, naravnost iz vrednosti primera. Vključitev omejitev dolžine in obsega dodaja minLength/maxLength in minimum/maximum mejne vrednosti, ki so jih vzete neposredno iz tega, kar ste prilepili, in dodajanje opisov iz imen polj spremeni "firstName" v opis v navadnem jeziku samodejno. Ko ima primer globoko ugnezdene predmete, izločanje definicij vleče vsako ugnezdeno obliko v svoj ponovno uporabljivi vnos namesto da bi ga vstavili povsod, kjer se uporablja.

Če imate več kot en primer istega zapisa, prilepite eno JSON vrednost na vrstico in vključite spojitev več primerov: orodje jih kombinira v eno shemo, ki odraža unijo vsakega polja in tipa, ki ga je videl, namesto da generiše shemo samo za prvega. Orodje sprejema tako Windows kot Unix zakončke vrstic, in seštevek pod izhodom prijavi, koliko lastnosti je zaznano med pisanjem.

Vse se izvršava lokalno v vašem brskalniku: vaš JSON nikoli ni naložen ali poslan na strežnik. Kopirajte generirano shemo, jo prenesite kot datoteko .txt ali pošljite rezultat nazaj v vnos, da ga še naprej izboljšate.

FAQ

Kakšna je razlika med draft-07 in 2020-12?
Obe sta veljavni različici JSON Scheme z nekoliko drugačnimi imeni ključnih besed — na primer 2020-12 uporablja $defs, kjer draft-07 uporablja definitions. Izberite tisto, ki jo pričakuje vaš validator ali pripomočin alat.
Ali lahko generiram shemo iz več kot enega primera?
Da. Vključite spojitev več primerov in prilepite eno JSON vrednost na vrstico — orodje jih kombinira v eno shemo, ki pokriva vsakega polja in tipa, ki ga je videl v vseh njih.
Ali ugiba oblike, kot so e-pošta ali UUID?
Ko je sklepanje oblike vključeno, vrednosti niza, ki se ujemajo z znanim vzorcem — e-poštni naslov, URI, UUID ali ISO date-time — dobijo ustrezno ključno besedo oblike, vendar samo, če se vsaka vrednost primera za to polje strinja.
Ali bo shema zavrnila polja, ki jih nisem vključil v svoj primer?
Samo če vključite "Prepovedujem dodatne lastnosti". Privzeto shema opisuje samo to, kar je videla, in dovoljuje dodatna polja.
Ali je moj JSON kjerkoli naložen?
Ne. Generiranje sheme se izvršava v celoti v vašem brskalniku — vaš JSON nikoli ne zapusti vašo napravo.