Generador de JSON a TypeScript, Go, Python, Zod y JSON Schema

Convierte datos JSON a interfaces TypeScript, structs Go, dataclasses Python, schemas Zod o JSON Schema. Pega JSON, obtén salida tipificada con soporte anidado.

100% del lado del cliente. Tus datos nunca salen de tu navegador.

Pega JSON a la izquierda para generar tipos TypeScript.

Convertidores y Ejemplos

Convertir Respuesta de API REST a TypeScript

Genera tipos TypeScript a partir de una respuesta JSON típica de API REST

Convert JSON Config to TypeScript

Generate TypeScript types from a nested configuration object

Generar Clases C# desde Respuesta de API

Genera clases C# con atributos JsonPropertyName a partir de una respuesta JSON típica de API REST

Generar Clases C# desde Objeto de Configuración

Genera clases C# con atributos JsonPropertyName a partir de una configuración de aplicación anidada

Generate Go Structs from API Response

Generate Go structs with JSON tags from a typical REST API JSON response

Generate Go Structs from Config Object

Generate Go structs with JSON tags from a nested application configuration

Generar Clases Java desde Respuesta de API

Genera clases Java con anotaciones Jackson a partir de una respuesta JSON típica de API REST

Generar Clases Java desde Objeto de Configuración

Genera clases Java con anotaciones Jackson a partir de una configuración de aplicación anidada

Generar Clases de Datos Kotlin desde Respuesta de API

Genera clases de datos Kotlin con anotaciones kotlinx.serialization a partir de una respuesta JSON típica de API REST

Generar Clases de Datos Kotlin desde Objeto de Configuración

Genera clases de datos Kotlin con anotaciones kotlinx.serialization a partir de una configuración de aplicación anidada

Generar Dataclasses Python desde Respuesta API

Genera dataclasses Python con anotaciones de tipo desde una respuesta JSON típica de API REST

Generar Structs de Rust desde Respuesta de API

Genera structs de Rust con serde derives a partir de una respuesta JSON típica de API REST

Generar Structs de Rust desde Objeto de Configuración

Genera structs de Rust con serde derives a partir de una configuración de aplicación anidada

Generate JSON Schema from API Response

Generate a JSON Schema (draft-07) from a typical REST API JSON response

Generate JSON Schema from Config Object

Generate a JSON Schema (draft-07) from a nested application configuration

Generar Structs de Swift desde Respuesta de API

Genera structs Swift Codable a partir de una respuesta JSON típica de API REST

Generar Structs de Swift desde Objeto de Configuración

Genera structs Swift Codable a partir de una configuración de aplicación anidada

Generar Schemas Zod desde Respuesta API

Genera schemas Zod con inferencia de tipos TypeScript desde una respuesta JSON típica de API REST

Herramientas Relacionadas

Generador de JSON a TypeScript, Go, Python, Zod y JSON Schema

Pega JSON y obtén interfaces TypeScript, structs Go, dataclasses Python, schemas Zod o JSON Schema en segundos. La herramienta analiza tus datos, infiere tipos para cada campo y genera interfaces nombradas para objetos anidados. Sin registro, sin llamadas al servidor, sin dependencias.

¿Qué es un generador de JSON a TypeScript?

Un generador de JSON a TypeScript toma un objeto JSON de ejemplo y produce las definiciones de tipo TypeScript correspondientes (interfaces, type aliases o schemas Zod) infiriendo el tipo de cada campo. En lugar de escribir manualmente los tipos que reflejan tus respuestas de API o objetos de configuración, pegas un ejemplo JSON representativo y la herramienta genera los tipos automáticamente. Esto ahorra tiempo, reduce errores y maneja casos borde como objetos anidados, arrays de tipos mixtos y campos nullable.

Cómo usarlo

  1. Pega JSON válido en el panel de entrada a la izquierda, o arrastra y suelta un archivo .json
  2. Elige el modo de salida: Interface (predeterminado), Type alias, Schema, Go, Python o Zod
  3. Copia la salida generada con el botón Copiar, o descárgala como archivo .ts, .go, .py o .json
  4. Pega los tipos en tu proyecto y empieza a usarlos inmediatamente

Modos de salida

Modo Interface (predeterminado)

Produce interfaces TypeScript estándar. Mejor para respuestas de API, objetos de configuración y cuando necesitas declaration merging.

Modo Type alias

Produce declaraciones type. Mejor para union types, mapped types y cuando necesitas más flexibilidad en tus definiciones de tipo.

Modo Schema

Produce un JSON Schema (draft-07) a partir de tus datos. El schema incluye propiedades tipificadas, listas de campos requeridos, distinción entero vs. flotante y schemas recursivos de objetos anidados.

Modo Go

Produce structs Go con tags JSON struct. Cada campo obtiene un nombre exportado PascalCase y un tag json:"...". Los campos opcionales incluyen omitempty.

Modo Python

Produce dataclasses Python con type annotations. Los campos usan nombres snake_case, los campos faltantes se escriben como Optional[T] = None.

Modo Zod

Produce schemas Zod con type inference. Cada objeto se convierte en un z.object(), los campos faltantes usan z.optional(), el tipo TypeScript se exporta con z.infer.

Reglas de inferencia de tipos

La herramienta mapea valores JSON a tipos TypeScript, Go, Python, Zod y JSON Schema:

Valor JSONTipo TypeScriptTipo GoTipo PythonTipo ZodTipo JSON Schema
"hola"stringstringstrz.string()"string"
42numberintintz.number()"integer"
3.14numberfloat64floatz.number()"number"
true / falsebooleanboolboolz.boolean()"boolean"
nullnullinterface{}Nonez.null()"null"
{}Record<string, unknown>map[string]interface{}Dict[str, Any]z.record(z.unknown()){ "type": "object", "additionalProperties": true }
[]unknown[][]interface{}List[Any]z.array(z.unknown()){ "type": "array", "items": {} }
[{ ... }]TypeName[][]StructNameList[TypeName]z.array(TypeName){ "type": "array", "items": { ... } }
{ key: "val" }interface TypeName { ... }type StructName struct { ... }@dataclass class TypeName: ...z.object({...}){ "type": "object", "properties": { ... } }

Nombrado de objetos anidados

Los objetos anidados obtienen nombres basados en ruta para evitar colisiones. Dado este JSON:

{
  "user": {
    "name": "Alice",
    "address": { "city": "NYC" }
  }
}

La herramienta produce:

interface RootUserAddress {
  city: string;
}

interface RootUser {
  name: string;
  address: RootUserAddress;
}

interface Root {
  user: RootUser;
}

La convención de nombres usa la ruta de clave en PascalCase: user.address se convierte en RootUserAddress.

Casos de uso comunes

Tipos de respuesta de API

Pega una respuesta de API de ejemplo y genera tipos para tus llamadas fetch. Funciona con APIs REST, respuestas GraphQL y cualquier endpoint JSON.

Tipos de objetos de configuración

Genera tipos para archivos de configuración, variables de entorno u objetos de ajustes. La herramienta maneja configuraciones anidadas con múltiples niveles de profundidad.

Herramientas relacionadas