Skip to main content
Volver a herramientas

JSON to TypeScript

Genera interfaces TypeScript a partir de un objeto JSON

Acerca de JSON to TypeScript

Genera una interfaz TypeScript llamada Root a partir de una muestra JSON y la actualiza mientras escribes. El resultado es autocontenido: los objetos anidados se escriben en línea, los arrays vacíos pasan a unknown[], los objetos anidados vacíos a Record<string, unknown> y las claves que no son identificadores válidos, como my-key, van entre comillas. Todo se ejecuta en tu navegador, así que las respuestas de API que pegas nunca salen de tu equipo.

Categoría: Conversores.

Preguntas frecuentes

¿Maneja objetos profundamente anidados?

▾

Sí, a cualquier profundidad, pero los objetos anidados se escriben en línea dentro de Root en lugar de como interfaces con nombre propio. Para reutilizar una forma anidada, mueve ese bloque a su propia interfaz y referénciala por su nombre.

¿Cómo se tipan los arrays?

▾

Cada array se tipa a partir de todos sus elementos: ["a", 1] se convierte en (string | number)[], los objetos con claves distintas forman una unión de tipos de objeto y un array vacío queda como unknown[].

¿Qué pasa con los valores nulos?

▾

Un valor null se tipa como null, porque la muestra no indica qué contiene normalmente el campo. Cuando lo sepas, reemplázalo por una unión como string | null.

¿Qué pasa si el JSON es un array en el nivel superior?

▾

Las claves de todos los objetos del array se combinan en una sola interfaz Root y se agrega el alias type RootArray = Root[]. Todos los campos son obligatorios y se tipan según el primer objeto que los contiene, así que agrega ? a las claves que faltan en algunos elementos, como en email?: string.

Herramientas relacionadas