De JSON a tipos: TypeScript, Python, Go, Java, C# y más

Pega una respuesta de la API y obtén modelos listos para usar en 8 lenguajes: TypeScript, Python (dataclass, TypedDict o Pydantic), Go, Java, C#, Kotlin, Swift y Rust. Los objetos de las matrices se fusionan, por lo que los campos opcionales y nulos se detectan automáticamente.

Actualizado el
TypeScript

Tus datos nunca salen de tu ordenador. Todo se procesa localmente en tu navegador.

Cómo usar: De JSON a tipos

  1. Pega un ejemplo de JSON —a ser posible, una respuesta real de una API con matrices que contengan varios elementos— o haz clic en «Cargar ejemplo».
  2. Elige el lenguaje y un estilo: por ejemplo, Pydantic v2 para FastAPI, «records» para Java moderno o «clases» para C#.
  3. Establece el nombre raíz. Los objetos anidados se convierten en sus propios tipos con nombre (p. ej., Root, Address, OrderItem).
  4. Copia el código o descárgalo con la extensión de archivo correcta.

Cómo se infieren los tipos

  • Las matrices de objetos se fusionan: un campo que falta en algunos elementos pasa a ser opcional; un campo que a veces null se convierte en nulo.
  • Números: los números enteros se convierten en tipos enteros (int, int64, long, i64); cualquier número con decimales se convierte en un tipo float o double.
  • Fechas: las cadenas ISO 8601 como 2026-10-26T09:30:00Z pueden convertirse en Date, datetime, time.Time, OffsetDateTime, DateTimeOffset o DateTime<Utc>.
  • Valores mixtos: TypeScript utiliza un tipo de unión; los lenguajes más estrictos recurren a un tipo genérico como Any, interface{}, Object o serde_json::Value.
  • Nombres: las claves que no son identificadores válidos se convierten (snake_case para Python y Rust, PascalCase para Go y C#, camelCase para Java, Kotlin y Swift) y se vuelven a asignar con la anotación JSON del lenguaje.

Resultado por lenguaje

LenguajeEstilosAsignación JSON
TypeScriptinterfaz, alias de tipoClaves entre comillas cuando sea necesario
Pythondataclass, TypedDict, Pydantic v2Field(alias=…)
Gostruct`json:"name,omitempty"` etiquetas
Javaregistro, POJOJackson @JsonProperty
C#registro, claseSystem.Text.Json [JsonPropertyName]
Kotlinclase de datoskotlinx.serialization @SerialName
SwiftstructCodable con CodingKeys
Ruststructserde #[serde(rename)]

Consejos

Pega una respuesta que contenga varios elementos en cada matriz: cuantos más ejemplos, mejor funcionará la detección de valores opcionales y nulos. ¿Aún no tienes datos de ejemplo? Crea algunos con el generador de datos simulados. Para opciones exclusivas de TypeScript, como readonly y la sintaxis de matriz, el conversor específico de JSON a TypeScript tiene ajustes adicionales. Limpia primero el JSON desordenado con el formateador de JSON.

También se busca como: json a tipos, de json a python, de json a go struct, de json a clase de java, de json a clase de c#, de json a clase de datos de kotlin, de json a swift codable, de json a rust (serde).

Herramientas que combinan con: De JSON a tipos

  • JSON Path Finder — Paste a webhook payload or API response, click any value and copy its exact path — for JavaScript, JSONPath, jq, Python, PHP, n8n and Make.
  • JSON to YAML — Paste JSON and get clean YAML for Kubernetes manifests, Docker Compose, GitHub Actions or any config file.
  • cURL to Code — Paste a curl command — from API docs or “Copy as cURL” in your browser’s DevTools — and get ready-to-run code for six languages, with headers, body and authentication carried over.
  • JSON Schema Validator — Paste a schema and some JSON to see exactly which values break which rule — or generate a starting schema from example data.

Preguntas frecuentes

¿Se ha subido mi JSON?
No. El análisis sintáctico y la generación de código se realizan íntegramente en tu navegador, así que puedes pegar respuestas reales de la API sin ningún problema.
¿Cómo se detectan los campos opcionales?
Cuando un array contiene varios objetos, sus claves se fusionan. Una clave que no aparezca en al menos un objeto pasa a ser opcional (p. ej., name?: string, Optional[str], omitempty). Desactiva esta opción para que todos los campos sean obligatorios.
¿Qué estilo de Python debería usar?
Pydantic v2 si validás datos (FastAPI, configuraciones); dataclasses para contenedores con tipado básico; TypedDict cuando trabajás con diccionarios, por ejemplo, para los resultados de `json.load`.
¿Qué pasa con los arrays vacíos o los campos que solo pueden contener valores nulos?
No hay nada a partir de lo que se pueda deducir el tipo, así que se convierten en un tipo genérico (desconocido, Any, interface{}, Object, JsonElement, JsonElement, Any o serde_json::Value). Añade un elemento de ejemplo para obtener un tipo concreto.
¿Puedo instalar De JSON a tipos como aplicación web y utilizarla sin conexión?
Sí. De JSON a tipos es una aplicación web instalable (PWA): se instala desde el navegador, no se descarga desde una tienda de aplicaciones. Haz clic en «Instalar aplicación» en la parte superior de esta página en Chrome o Edge (Windows, macOS, Linux, ChromeOS) o, en Android, utiliza «Compartir» → «Añadir a la pantalla de inicio» en iPhone y iPad, o «Archivo» → «Añadir al Dock» en Safari 17+ en un Mac. A continuación, se abrirá en su propia ventana con su propio icono y, como se ejecuta íntegramente en tu navegador, seguirá funcionando sin conexión. Firefox en el ordenador de sobremesa no permite instalar aplicaciones web. Cómo funciona la instalación.

Herramientas relacionadas