Da JSON a schema Zod
JSON to Zod Schema
Costruisce uno schema Zod da un esempio JSON, deducendo nullable, optional ed enumerazioni.
Trasforma un documento JSON di esempio in uno schema Zod — il controllo a runtime che i tipi di TypeScript non possono dare. L’uscita è un insieme di const `z.object` in ordine di dichiarazione più un tipo inferito per la radice, così un solo incolla dà sia il parser sia il tipo.
JSON di esempio
Trascina un file .json
Letto in questa scheda. Non viene caricato niente.
Dagli tutti gli elementi che hai. Ogni record in più restringe la deduzione: un campo che manca in uno di loro è proprio quello che lo rende facoltativo.
TypeScript
Come si usa
Incollare tutti i record che si hanno
Viene letto e fuso ogni elemento di ogni array, non solo il primo. Tre record dicono molto più di uno, perché un campo che manca in uno di essi è esattamente ciò che rende quel campo facoltativo.
Dare un nome al tipo radice
Gli oggetti annidati prendono il nome dalla chiave che li contiene, al singolare per gli array, così `users` produce un `User`. Solo la radice ha bisogno di un nome dato a mano.
Leggere i conteggi sotto l’uscita
Tipi, campi facoltativi, unioni e quanti record sono stati fusi. Un conteggio di unioni sopra lo zero vuol dire che nel campione un campo ha contenuto due generi di valore diversi — vale la pena guardarlo prima di incollare il risultato in una base di codice.
Incollarlo e usarlo per analizzare
I blocchi vengono emessi prima i figli, il che in Zod conta: un `z.object` che si riferisce a una const dichiarata più avanti solleva un errore al momento dell’import invece di limitarsi a non passare il controllo dei tipi. L’ordine va lasciato com’è stato generato.
Domande frequenti
Perché lo schema non corrisponde al contratto della mia API?
Perché descrive il campione, non il contratto. Un campo marcato facoltativo era semplicemente assente da uno dei record incollati; un campo marcato obbligatorio può essere comunque facoltativo in un’API di cui non si è visto abbastanza. L’uscita va presa come una prima bozza da stringere a mano.
Ci sono raffinamenti — email, uuid, lunghezza minima?
Nessuno. Tutto è `z.string()`, `z.number()` o `z.boolean()`, con `.int()` quando ogni numero del campione era intero. Aggiungere `.email()` perché una stringa conteneva una @ sarebbe tirare a indovinare, e un raffinamento sbagliato rifiuta dati validi in produzione.
Che cosa succede a un array vuoto?
Diventa `z.array(z.unknown())`, perché un array vuoto non dice niente sul tipo dei suoi elementi. Basta incollare un record in cui l’array non è vuoto e lo schema si riempie da sé.
Per quale versione di Zod è?
Le chiamate emesse sono quelle uguali in Zod 3 e 4 — `z.object`, `z.array`, `z.union`, `.nullable()`, `.optional()` e `z.record(z.string(), z.unknown())` nella sua forma a due argomenti. Non viene usato niente di specifico di una versione.
Può ricevere da
Da JSON a TypeScript
JSON to TypeScript
Deduce interfacce o tipi TypeScript da un esempio JSON, unendo i campi facoltativi e le unioni.
Da JSON a JSON Schema
JSON to JSON Schema
Deduce un JSON Schema da uno o più esempi, unendo le forme che incontra.
Formattatore e validatore JSON
JSON Formatter & Validator
Formatta, minifica e valida il JSON, indicando riga e colonna esatte di un errore di sintassi.
Formattatore e validatore YAML
YAML Formatter & Validator
Riporta il YAML a un’indentazione coerente, lo valida e segnala gli errori di tabulazione e di ancora che rompono i parser.
Dopo
Questi accettano ciò che produce questo strumento, così il risultato può passare direttamente.
Validatore di JSON Schema
JSON Schema Validator
Valida un documento rispetto a un JSON Schema e riporta ogni errore con il percorso dell’istanza.
Da JSON a JSON Schema
JSON to JSON Schema
Deduce un JSON Schema da uno o più esempi, unendo le forme che incontra.
Da JSON a TypeScript
JSON to TypeScript
Deduce interfacce o tipi TypeScript da un esempio JSON, unendo i campi facoltativi e le unioni.
Codificatore e decodificatore Base64
Base64 Encoder & Decoder
Codifica e decodifica in Base64 e Base64URL testo o file, trattando correttamente l’UTF-8.
Da curl a codice
curl to Code
Converte un comando curl in fetch, axios, requests di Python, Go, PHP o PowerShell.
Hash di un testo
Text Hash
Calcola MD5, SHA-1, SHA-256, SHA-384, SHA-512 e CRC-32 di una stringa, con uscita in maiuscolo o in Base64.