JSON → TypeScript

Convierte un ejemplo de JSON en interfaces o tipos de TypeScript directamente en tu navegador.

Acerca de JSON → TypeScript

Qué es

JSON → TypeScript lee un ejemplo de JSON —una respuesta de API, una configuración, datos de prueba— y escribe las declaraciones de TypeScript que lo describen. Los objetos anidados pasan a ser tipos con nombre propio, las formas de los elementos de un array se combinan y los campos que no siempre aparecen se marcan como opcionales, así que obtienes una base tipada en lugar de escribirla a mano.

Funciones principales

  • Declaraciones como interface o type, con o sin export.
  • Objetos anidados extraídos como tipos con nombre o dejados en línea.
  • Los elementos de un array con formas distintas se combinan en un solo tipo; un campo que falta en algunos elementos pasa a ser opcional.
  • Nombre propio para el tipo raíz.
  • Campos readonly, todos los campos opcionales y ejemplos JSDoc tomados de los valores.

Cómo usarlo

  1. Pega JSON en el editor, suelta un archivo sobre él o pulsa «Ejemplo».
  2. Elige «Interface» o «Type» y escribe el nombre del tipo raíz.
  3. Activa lo que necesites: extraer tipos anidados, campos readonly, campos opcionales, JSDoc.
  4. Copia el TypeScript o envíalo a otra herramienta.

Cuándo es útil

  • Tipar la respuesta de una API antes de usarla en el frontend.
  • Describir un archivo de configuración que se carga en tiempo de ejecución.
  • Sacar un borrador de tipos para un webhook de terceros a partir de un payload real.

Privacidad y limitaciones

Tus datos

Tu JSON se convierte en el navegador y no se envía a ningún servidor: el sitio solo recibe un evento anónimo de «herramienta abierta», sin el contenido. Un resultado que envías a otra herramienta se queda 24 horas en este dispositivo, en «Actividad reciente».

Limitaciones

  • Los tipos describen solo el ejemplo que das: un campo que nunca aparece en él tampoco estará en el resultado.
  • Un valor null en el ejemplo se tipa como null; añade el tipo real tú mismo si lo conoces.

Preguntas frecuentes

¿Elijo «Interface» o «Type»?

Ambos describen la misma forma. Las interfaces se pueden extender y fusionar; type es práctico para uniones y alias. Si tu proyecto tiene una convención, síguela.

¿Cómo se tratan los arrays de objetos?

Las formas de todos los elementos se combinan en un solo tipo. Un campo que está en unos elementos y falta en otros pasa a ser opcional, para que el tipo encaje con todos.

¿Por qué aparece un error en lugar de los tipos?

La entrada tiene que ser un JSON válido. Revísalo en el Formateador JSON, que indica la línea y la posición del error.