Abbozzare modelli di risposta API
Fornisci esempi rappresentativi con annidamenti, varianti e null. Rivedi poi nomi proposti e campi realmente garantiti dal fornitore.
Inferisci interfacce TypeScript, tipi, schemi Zod o JSON Schema da oggetti e array di un esempio JSON, localmente nel browser.
Trasforma un esempio JSON in interfacce o alias TypeScript, schemi Zod o JSON Schema. Il generatore percorre oggetti annidati e tutti gli elementi degli array, non soltanto il primo. Ottieni una base da rivedere secondo l’API: un campione non rivela tutti i valori restituiti da un servizio. L’inferenza avviene sul dispositivo e il codice generato non viene eseguito nel modulo.
Il motore identifica stringhe, numeri, booleani, oggetti, array e null. Tipi osservati diversi possono formare un’unione. I numeri TypeScript usano number; stringhe simili a date o email restano string, senza regole applicative indovinate. Un array vuoto non rivela gli elementi futuri e produce un tipo sconosciuto.
In un array di oggetti si combinano le proprietà osservate. Un campo assente in alcune voci può diventare facoltativo. La modalità che impone tutti i campi crea un contratto più rigoroso, che alcuni esempi non rispetterebbero più. Un campo presente con null non è assente: nullabilità e facoltatività sono informazioni distinte.
Scegli interface o type per dichiarazioni TypeScript, Zod per codice di validazione o JSON Schema per un documento di schema. readonly riguarda TypeScript e non congela oggetti in esecuzione. L’output Zod importa zod, che il progetto deve fornire, e dichiara schemi figli prima dei riferimenti dei genitori.
Le destinazioni condividono l’inferenza senza promettere comportamenti identici. TypeScript controlla codice in sviluppo, non automaticamente risposte di rete. Zod richiede una vera chiamata di validazione. JSON Schema chiude gli oggetti con additionalProperties: false: decidi esplicitamente come trattare chiavi aggiuntive prima dell’integrazione.
Incolla o importa JSON valido. Evita dati personali inutili: contano struttura e diversi tipi osservati.
Assegna il nome al modello e scegli l’output. Regola campi assenti e readonly quando la destinazione TypeScript lo consente.
Controlla unioni, proprietà facoltative e dipendenze prima di copiare o esportare. Cambiare input od opzioni nasconde il risultato precedente. Compila o valida poi nel progetto.
Fornisci esempi rappresentativi con annidamenti, varianti e null. Rivedi poi nomi proposti e campi realmente garantiti dal fornitore.
Genera schemi di base e aggiungi formati, limiti e regole applicative. Una semplice stringa non viene automaticamente considerata un URL valido.
Raggruppa oggetti comparabili in un array per mostrare campi presenti solo in alcuni casi. Includi situazioni rare conosciute.
Con nome radice Response e destinazione interface, user diventa un modello User separato. id è number e name string; i valori concreti dell’esempio non vengono fissati.
Input
{"user":{"id":1,"name":"Ada"}}Risultato
export interface Response {
user: User;
}
export interface User {
id: number;
name: string;
}Con nome radice Root e output Zod, ChildSchema precede RootSchema ed evita riferimenti a costanti prima dell’inizializzazione.
Input
{"child":{"id":1}}Risultato
import { z } from 'zod';
export const ChildSchema = z.object({
id: z.number(),
});
export type Child = z.infer<typeof ChildSchema>;
export const RootSchema = z.object({
child: ChildSchema,
});
export type Root = z.infer<typeof RootSchema>;No. TypeScript descrive i valori attesi durante lo sviluppo. Per verificare dati ricevuti in esecuzione, aggiungi un validatore e usa effettivamente il suo risultato prima di fidarti della risposta.
Si confrontano oggetti dello stesso array cercando chiavi assenti in alcune voci. Un solo oggetto che contiene sempre un campo non rivela se il campo possa essere omesso.
Il campione fornisce una stringa, non prova la regola applicativa. Il generatore evita validazioni arbitrarie basate sull’aspetto. Aggiungi esplicitamente formati e vincoli richiesti.
Qui trovi più destinazioni e opzioni per nomi e campi facoltativi. Lo strumento autonomo genera direttamente uno schema e distingue gli interi osservati. Entrambi usano la stessa inferenza condivisa.
Strumenti correlati
Strumenti simili o complementari a questo.
Genera un JSON Schema da un esempio JSON, localmente nel browser.
Valida un documento JSON con uno schema e individua con precisione ogni errore.
Genera set di dati fittizi realistici in JSON, CSV o SQL.