Cómo usar JSON a tipos
- 1
Pega muestras JSON
Pega una respuesta, un array de registros o varias respuestas una tras otra; el ejemplo muestra dos usuarios combinados.
- 2
Elige el lenguaje
Elige TypeScript, Zod, Go, Python, Java, C#, Kotlin, Swift o Rust, y las opciones de estilo correspondientes.
- 3
Nombra el tipo raíz
Indica el nombre del tipo de nivel superior, por ejemplo User u OrderResponse.
- 4
Genera y copia
Pulsa Generar tipos y luego copia el código o descárgalo; si cambias algo, se regenera automáticamente.
Límites y Pro
Gratis y sin registro: 9 lenguajes de salida con 3 estilos de Python, cualquier número de muestras combinadas y archivos de hasta 20 MB, con la generación detenida a los 30 segundos.
Pro quita los anuncios; el generador es el mismo en todos los planes. Ver Pro
Acerca de JSON a tipos
Escribir a mano los tipos de la respuesta de una API es lento y propenso a errores, sobre todo cuando los datos están anidados a tres niveles. Pega una o varias muestras JSON y este generador deduce la estructura y escribe definiciones listas para pegar en nueve variantes: interfaces o alias de tipo de TypeScript, TypeScript con esquemas Zod para validar en tiempo de ejecución, structs de Go con etiquetas json, dataclasses, TypedDicts o modelos Pydantic v2 de Python, records de Java con anotaciones de Jackson, clases de C# para System.Text.Json, data classes de Kotlin para kotlinx.serialization, structs Codable de Swift y structs de Rust para serde.
Una sola muestra rara vez incluye todos los campos, así que el generador combina todas las que le des. Pega varios documentos uno tras otro o en JSON Lines, o bien un array de objetos: una clave que falta en algunos objetos pasa a ser opcional, una clave que a veces es null pasa a ser anulable, un entero que a veces es decimal pasa a ser float, y los valores realmente mixtos se convierten en una unión o en el tipo JSON dinámico del lenguaje. Los objetos anidados reciben tipos con nombre propio (orders se convierte en Order y addresses en Address), y las estructuras idénticas se generan una sola vez y se reutilizan. Los objetos cuyas claves son números, UUID o fechas se convierten en mapas.
Los nombres de los campos se adaptan a la convención de cada lenguaje, y las claves JSON que difieren, como first-name o class, se asocian de nuevo con la anotación, el alias o los CodingKeys adecuados. Se toleran los comentarios y las comas finales en la muestra.
El resultado describe las muestras que proporcionas; el generador no puede conocer campos o valores que tus muestras no contienen, así que revísalo con la documentación de tu API antes de fiarte de él.
Privacidad
Las muestras se analizan y el código se genera mediante un Web Worker en esta pestaña, así que las respuestas de API con datos personales o internos nunca se suben. Las opciones de lenguaje y de nombres se guardan en el almacenamiento local; el JSON que pegas no se conserva.
Características
Combina muchas muestras
Las claves que faltan pasan a ser opcionales y los valores null, anulables, en todas las muestras que pegues.
9 lenguajes
TypeScript, Zod, Go, Python, Java, C#, Kotlin, Swift y Rust con nombres idiomáticos.
Asignación de claves incluida
Las etiquetas json, los alias, @SerialName, @JsonProperty y CodingKeys conservan los nombres originales del JSON.