JSON a tipos de TypeScript
JSON to TypeScript
Deduce interfaces o tipos de TypeScript a partir de un JSON de ejemplo, fusionando campos opcionales y uniones.
Pega una respuesta JSON y obtén sus interfaces de TypeScript. La inferencia fusiona todos los registros de la muestra en lugar de leer el primero, así que un campo que solo aparece en algunos sale como opcional en lugar de obligatorio, que es la diferencia entre un tipo que compila y un tipo que es verdad.
JSON de ejemplo
Suelta un archivo .json
Se lee en esta pestaña. No se sube nada.
Dale todos los elementos que tengas. Cada registro de más estrecha la deducción: un campo que falte en uno de ellos es lo que lo vuelve opcional.
TypeScript
Cómo se usa
Pega todos los registros que tengas
Se lee y fusiona cada elemento de cada arreglo, no solo el primero. Tres registros dicen mucho más que uno, porque un campo ausente en uno de ellos es exactamente lo que hace que ese campo sea opcional.
Da nombre al tipo raíz
Los objetos anidados toman el nombre de la clave que los contiene, en singular para los arreglos, así que `users` produce un `User`. Solo la raíz necesita un nombre tuyo.
Lee los recuentos bajo la salida
Tipos, campos opcionales, uniones y cuántos registros se fusionaron. Un recuento de uniones mayor que cero significa que un campo tuvo dos clases de valor distintas en tu muestra, algo que conviene mirar antes de pegar el resultado en una base de código.
Copia las interfaces
La salida es un conjunto de interfaces exportadas en orden de declaración, lista para pegar en un `.d.ts` o junto al fetch que las devuelve.
Preguntas frecuentes
¿Esto es un validador?
No. Los tipos de TypeScript se borran al compilar, así que nada de esto comprueba la respuesta en tiempo de ejecución: un servidor que cambia su forma te entregará un valor que miente sobre su tipo. Si necesitas que la comprobación ocurra, genera Zod desde la misma pantalla y analiza con él.
¿Por qué un campo sale como `string` si es una fecha?
Porque en JSON es una cadena. La inferencia es estructural: informa de lo que son los valores, y no adivina que una cadena con pinta de ISO-8601 deba convertirse en `Date`. Afinar eso es una decisión sobre tu base de código, no sobre la muestra.
¿Y si un campo es a veces cadena y a veces número?
Se convierte en una unión, `string | number`, y el recuento de uniones de abajo sube. Eso suele ser una señal sobre la API más que sobre el tipo: un campo que cambia de clase es un bug esperando en algún punto más adelante.
¿Se generan tipos literales a partir de la muestra?
No: un `status` que siempre vale `"active"` en tres registros sigue saliendo como `string`. Tres registros no son prueba de una enumeración, y un tipo literal inferido de muy pocos datos es de esas cosas que rompen una compilación una semana después.
Puede recibir de
Conversor de mayúsculas y minúsculas
Case Converter
Convierte entre MAYÚSCULAS, minúsculas, Tipo Título, Tipo oración, camelCase, snake_case, kebab-case y CONSTANT_CASE.
Formateador y validador de JSON
JSON Formatter & Validator
Indenta, minifica y valida JSON, señalando la línea y la columna exactas del error de sintaxis.
JSON a estructuras de Go
JSON to Go Structs
Genera estructuras de Go con etiquetas json a partir de un JSON de ejemplo, incluidos los tipos anidados y repetidos.
JSON a estructuras de Rust
JSON to Rust Structs
Genera estructuras de Rust anotadas con serde a partir de un JSON de ejemplo, con Option para los campos nulos o ausentes y renombrado a snake_case.
Después
Estas aceptan lo que produce esta herramienta, así que el resultado puede pasar directamente.
Formateador y validador de JSON
JSON Formatter & Validator
Indenta, minifica y valida JSON, señalando la línea y la columna exactas del error de sintaxis.
JSON a estructuras de Go
JSON to Go Structs
Genera estructuras de Go con etiquetas json a partir de un JSON de ejemplo, incluidos los tipos anidados y repetidos.
JSON a JSON Schema
JSON to JSON Schema
Deduce un JSON Schema a partir de uno o varios ejemplos, uniendo las formas que encuentra.
JSON a esquema de Zod
JSON to Zod Schema
Construye un esquema de Zod a partir de un JSON de ejemplo, deduciendo campos nulos, opcionales y enumeraciones.
Codificador y decodificador Base64
Base64 Encoder & Decoder
Codifica y decodifica Base64 y Base64URL, para texto o archivos, tratando UTF-8 correctamente.
curl a código
curl to Code
Convierte un comando curl en fetch, axios, requests de Python, Go, PHP o PowerShell.