Esbozar modelos de respuesta API
Aporta ejemplos representativos con anidamientos, variantes y null. Revisa después nombres propuestos y campos realmente garantizados por el proveedor.
Infiere interfaces TypeScript, tipos, esquemas Zod o JSON Schema a partir de objetos y arrays de un ejemplo JSON, localmente.
Convierte un ejemplo JSON en interfaces o alias TypeScript, esquemas Zod o JSON Schema. El generador recorre objetos anidados y todos los elementos de los arrays, no solo el primero. El resultado es una base para revisar según tu API: un ejemplo no revela todos los valores que devolverá un servicio. La inferencia se hace en tu dispositivo y el código generado no se ejecuta en el formulario.
El motor identifica cadenas, números, booleanos, objetos, arrays y null. Los tipos diferentes observados pueden formar una unión. Los números TypeScript usan number; cadenas con aspecto de fecha o correo siguen siendo string, sin reglas de negocio deducidas. Un array vacío no revela sus futuros elementos y produce un tipo desconocido.
En un array de objetos se combinan las propiedades observadas. Un campo ausente en algunas entradas puede ser opcional. El modo de exigir todos los campos genera un contrato más estricto que algunos ejemplos dejarían de cumplir. Un campo presente con null no está ausente: nulabilidad y opcionalidad son hechos distintos.
Elige interface o type para declaraciones TypeScript, Zod para código de validación o JSON Schema para un documento de esquema. readonly afecta a declaraciones TypeScript, sin congelar objetos en ejecución. La salida Zod importa zod, que tu proyecto debe proporcionar, y declara esquemas hijos antes de las referencias de sus padres.
Las salidas comparten inferencia sin prometer comportamientos idénticos. TypeScript comprueba código en desarrollo, no automáticamente respuestas de red. Zod necesita una llamada real de validación. JSON Schema cierra objetos mediante additionalProperties: false; decide explícitamente cómo tratar claves adicionales antes de integrarlo.
Pega o importa JSON válido. Evita datos personales innecesarios: importan estructura y distintos tipos observados.
Nombra el modelo y selecciona la salida. Ajusta propiedades ausentes y readonly cuando el destino TypeScript lo permita.
Comprueba uniones, campos opcionales y dependencias antes de copiar o exportar. Cambiar entradas u opciones oculta el resultado anterior. Compila o valida después en tu proyecto.
Aporta ejemplos representativos con anidamientos, variantes y null. Revisa después nombres propuestos y campos realmente garantizados por el proveedor.
Genera esquemas básicos y añade formatos, límites y reglas de aplicación. Una cadena cualquiera no se considera automáticamente una URL válida.
Agrupa objetos comparables en un array para mostrar campos presentes solo en algunos casos. Incluye situaciones poco frecuentes conocidas.
Con nombre raíz Response y destino interface, user se convierte en un modelo User separado. id es number y name string; no se fijan los valores concretos del ejemplo.
Entrada
{"user":{"id":1,"name":"Ada"}}Resultado
export interface Response {
user: User;
}
export interface User {
id: number;
name: string;
}Con nombre raíz Root y salida Zod, ChildSchema precede a RootSchema y evita referenciar una constante antes de inicializarla.
Entrada
{"child":{"id":1}}Resultado
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 describe valores esperados durante el desarrollo. Para comprobar datos recibidos en ejecución, añade un validador y usa realmente su resultado antes de confiar en la respuesta.
Se comparan objetos de un mismo array y se identifican claves ausentes en algunas entradas. Un único objeto que siempre contiene un campo no revela que este pueda omitirse.
El ejemplo proporciona una cadena, no prueba su regla de negocio. Se evita convertir su apariencia en validación arbitraria. Añade explícitamente los formatos y restricciones necesarios.
Aquí hay varios destinos y opciones de nombres o campos opcionales. El generador independiente produce directamente un esquema y distingue enteros observados. Ambos comparten el mismo motor de inferencia.
Herramientas relacionadas
Herramientas similares o complementarias a esta.
Genera un JSON Schema desde un ejemplo JSON localmente en tu navegador.
Valida un documento JSON con un esquema y localiza cada error con precisión.
Genera conjuntos de datos ficticios realistas en JSON, CSV o SQL.