Che cos'è il generatore di schemi JSON?

Il JSON Schema Generator legge un valore JSON di esempio - una risposta API, un file di configurazione, un payload webhook - e scrive uno schema JSON che lo convalida Induce il tipo di ogni campo, unisce un array di oggetti in un singolo schema di elementi anziché in un'unione rumorosa, deriva quali chiavi sono richieste da quelle presenti in ogni record e può taggare formati di stringa come data-ora, e-mail, uri e uuid. Incolli i dati che già possiedi; ottieni lo schema che altrimenti scriveresti a mano clausola per clausola.
Scrivere uno schema a mano è lento e facile sbagliare sottilmente È forte la tentazione di digitare ciò che pensi che un payload contenga, perdere un campo annidato, contrassegnare una proprietà occasionalmente nulla come richiesto o dimenticare che un endpoint restituisce un array in cui un altro restituisce un singolo oggetto Uno schema generato direttamente da dati reali inizia dalla forma reale, quindi il documento che convalidi rispetto alle corrispondenze con ciò che il servizio invia veramente Da lì stringi i vincoli - modelli, enumerazioni, minimi - a mano, ma l'impalcatura noiosa è fatta.
Tutto viene eseguito nel tuo browser Il motore di inferenza è TypeScript senza dipendenze, non un wrapper attorno a un'API ospitata, quindi i payload - che trasportano abitualmente token, e-mail e ID interni - non lasciano mai la pagina Scegli Draft-07 o il dialetto 2020-12, aggiungi un titolo, attiva/disattiva il rilevamento del campo richiesto, il rilevamento del formato e il rigoroso `additionalProperties`, quindi copia lo schema o scaricalo come file.json.
Lo schema descrive il tuo campione piuttosto che il tuo intento, quindi tratta l'output come una prima bozza: i campi richiesti vengono dedotti da ciò che sembra essere presente e i formati vengono rilevati in base al modello, quindi una stringa che assomiglia a una data viene digitata come una sola anche quando si tratta di un identificatore che ne assomiglia semplicemente uno.
Come utilizzare il generatore di schemi JSON?
Incolla il tuo JSON
Elimina una risposta API, un apparecchio o qualsiasi valore JSON. Carica prima il campione per vedere come vengono gestiti gli oggetti nidificati, gli array di oggetti e i formati di stringhe.
Scegli il dialetto
Scegliere Draft-07 per il supporto per utensili più largo o 2020-12 per la specifica corrente. L'URI $Schema corretto viene scritto sull'output per te.
Imposta le tue opzioni
Aggiungi un titolo facoltativo, decidi se emettere un array richiesto, rilevare i formati di stringa e bloccare gli oggetti con AdditionalProperties: False per una convalida rigorosa.
generare, quindi copiare o scaricare
premere genera. Esamina i tipi dedotti e i campi obbligatori, quindi copia lo schema negli appunti o scaricalo come file .json pronto per essere rilasciato nel tuo validatore.
Caratteristiche principali
Progetto-07 e 2020-12 Uscita
Emettere il dialetto Draft-07 ampiamente supportato o l'attuale specifica 2020-12. L'identificatore di $ schema corrispondente viene scritto sulla radice in modo che i validatori scelgano le regole giuste.
fusione di array intelligente
Una matrice di oggetti diventa un singolo schema di elementi che descrive un elemento, non un anyof tentacolare. Le chiavi presenti in ogni elemento sono necessarie; le chiavi che appaiono solo in alcuni sono lasciate facoltative.
Inferenza sul campo richiesto
Il generatore deriva l'array richiesto dalle chiavi presenti in ogni oggetto che vede, che è esattamente il modo in cui si comportano i dati impaginati reali - alcuni campi sono sempre lì, altri no.
Rilevamento del formato stringa
Riconosce data-ora, data, ora, e-mail, URI, UUID e stringhe IPv4 e le tagga con la parola chiave del formato appropriato, dandoti la convalida che altrimenti aggiungeresti a mano.
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!