Genere interfaces o tipos de TypeScript a partir de una muestra JSON
Se ejecuta en su navegador. Nada de lo que escribe se envía a ningún sitio.Escribir a mano una interfaz a partir de una respuesta JSON es tedioso y fácil de equivocar. Pegue 1 muestra y obtenga interfaces o tipos de TypeScript, con los objetos anidados y los arrays resueltos. La muestra se queda en su navegador, así que una respuesta llena de datos reales no va a ninguna parte.
Esta página se ha traducido automáticamente del original en inglés. Ninguna persona ha revisado todavía la traducción, así que la versión en inglés es la que debe consultar. Leer el original en inglés
Pegue una respuesta JSON de muestra en el panel JSON, o haga clic en Probar un ejemplo.
Defina el Nombre raíz y elija Interface o Type.
Elija cómo se tipan los valores null, «| null» u Opcional, y active o desactive Export o Readonly.
Haga clic en Copiar, o en el icono de descarga para guardar un archivo .ts con el nombre del tipo raíz.
Este conversor de JSON a TypeScript lee una muestra de sus datos y escribe las interfaces o los alias de tipo correspondientes. Cada objeto anidado recibe su propia declaración con nombre, los arrays reciben tipos de elemento y el resultado se actualiza mientras escribe, así que puede pegar una respuesta y copiar tipos que funcionan un segundo después.
Los desarrolladores lo usan al conectar una API nueva: pegan una respuesta de la pestaña de red y obtienen los tipos para la llamada fetch. También ayuda cuando un archivo de configuración o la carga de un webhook ha crecido demasiado para tiparlo a mano, o cuando se heredan fixtures JSON sin tipos y se quiere que el compilador empiece a detectar errores.
El generador examina todos los elementos de un array, no solo el primero. Los objetos de un array se fusionan en una sola interfaz, y una clave que falta en algunos de ellos pasa a ser opcional. Un campo que contiene distintos tipos de valor se convierte en una unión, como string | number. Los valores null añaden | null o hacen la propiedad opcional; usted elige. Las formas idénticas comparten una declaración, y claves como pin-code van entre comillas.
Todo se ejecuta en su navegador y nada de lo que pega se envía a ningún sitio. Los tipos describen solo la muestra que da, así que incluya un ejemplo de cada variante que espere. Ctrl+Enter copia el resultado. Herramientas relacionadas: JSON Formatter, YAML to JSON, CSV to JSON.
Pegue el JSON en el panel izquierdo. Las interfaces aparecen a la derecha mientras escribe. Defina el nombre raíz, elija interface o type y pulse Copiar o Ctrl+Enter, y pegue el resultado en un archivo .ts.
Todo aquí es gratuito, sin registro y sin límite de conversiones. La conversión se ejecuta por completo en su navegador, así que el JSON que pega nunca sale de su dispositivo y ninguna copia llega a un servidor. Se pueden pegar sin riesgo respuestas de API con tokens de acceso, direcciones de correo o detalles de pedidos.
Cuando un array contiene varios objetos, se fusionan en una sola interfaz. Una clave que aparece solo en algunos de ellos se marca como opcional con un signo de interrogación. Con la opción de null en Opcional, una clave cuyo valor es null también se marca como opcional.
Ambos describen la misma forma. Las interfaces se pueden extender y fusionar, y muchos equipos las prefieren para objetos. Los alias de tipo también pueden expresar uniones y tipos mapeados. Elija el que ya use su código; la herramienta escribe cualquiera de los dos.
El tipo de elemento pasa a ser una unión, por ejemplo (string | number)[]. Un array vacío se convierte en unknown[] porque no hay nada de lo que inferir; añada un elemento de ejemplo para obtener un tipo preciso.
Sí. Los archivos de unos pocos megabytes se convierten en mucho menos de un segundo. El anidamiento profundo no es problema; cada nivel recibe su propia declaración con nombre, y las formas idénticas se reutilizan en lugar de repetirse.
¿Sigue sin resolverlo? Pregunte sobre JSON a TypeScript y cualquiera que lo sepa puede responder. No se necesita cuenta.