Convertidor de JSON a código

Convierte una muestra de JSON en interfaces de TypeScript, structs de Go, structs serde de Rust, un esquema Zod o JSON Schema.

Cargando herramienta…

Convertidor de JSON a códigoPega una muestra representativa de JSON y obtén al instante código con tipos fuertes en tu lenguaje destino: interfaces de TypeScript, structs de Go con etiquetas json, structs serde de Rust, un esquema Zod o JSON Schema draft-07. Los tipos se infieren directamente de los datos: los objetos anidados se convierten en tipos con nombre, los arreglos infieren el tipo de su elemento y los campos que no están presentes en todos los elementos de un arreglo se marcan como opcionales. Todo se ejecuta en tu navegador, así que tu JSON nunca se sube.

¿Qué es Convertidor de JSON a código?

JSON a código es un generador de tipos gratuito que funciona en el navegador: lee una muestra de JSON y escribe el modelo de datos equivalente en el lenguaje que elijas. Escoge un destino en el menú Convertir a (interfaz de TypeScript, struct de Go, struct serde de Rust, esquema Zod o JSON Schema) y define un Nombre del tipo raíz para etiquetar el tipo de nivel superior. El motor de inferencia recorre el JSON: cadenas, números, booleanos y null se asignan a tipos nativos, los objetos anidados se elevan a sus propios tipos con nombre, los arreglos adoptan el tipo de su elemento y las claves ausentes en algunos elementos de un arreglo pasan a ser opcionales. Desarrolladores de frontend y backend lo usan para generar DTOs a partir de respuestas de API, esbozar esquemas de validación y mantener sincronizados los tipos del cliente y del servidor sin escribir código repetitivo a mano.

Cómo usar Convertidor de JSON a código

  1. Pega o escribe una muestra representativa de JSON en el cuadro de entrada, o haz clic en Ejemplo para cargar uno.
  2. Abre Ajustes y elige un destino en Convertir a: TypeScript, Go, Rust, Zod o JSON Schema.
  3. Define el Nombre del tipo raíz para controlar el nombre de la interfaz, el struct o el esquema de nivel superior.
  4. Lee el código generado en el panel de salida; se actualiza solo a medida que editas el JSON o cambias las opciones.
  5. Mira la estadística Tipos para ver cuántos tipos con nombre se infirieron y haz clic en Copiar para llevarte el resultado.

Ejemplos

Objeto a interfaz de TypeScript

Entrada

{ "id": 1, "name": "Ada", "active": true }

Salida

export interface Root {
  id: number;
  name: string;
  active: boolean;
}

Objeto anidado a struct de Go

Entrada

{ "user": { "age": 30 } }

Salida

type User struct {
	Age float64 `json:"age"`
}

type Root struct {
	User User `json:"user"`
}

Arreglo con una clave ausente a un esquema Zod

Pega un arreglo como [{"a":1,"b":2},{"a":3}] y cambia Convertir a a Zod. Como el segundo elemento no tiene b, el generador marca b como .optional() en el z.object inferido, de modo que el esquema acepta ambas formas.

Preguntas frecuentes

¿Se sube mi JSON a algún sitio?
No. El análisis y la generación de código se ejecutan por completo en tu navegador con un motor de inferencia integrado. Tu JSON nunca sale de tu dispositivo y la herramienta sigue funcionando sin conexión.
¿Qué destinos se admiten?
Interfaces de TypeScript, structs de Go (con etiquetas json y omitempty para campos opcionales), structs serde de Rust (con derives Serialize/Deserialize y rename cuando un campo se renombra), esquemas Zod y JSON Schema draft-07. La herramienta solo genera lo que puede inferir fielmente de tu muestra.
¿Cómo se deciden los campos opcionales?
A partir de tu muestra. Cuando un arreglo contiene objetos y una clave falta en algunos de ellos, esa clave se infiere como opcional. Por lo demás, toda clave presente en la muestra se trata como obligatoria.
¿Y los números, los null y los tipos mixtos?
Los números se asignan al tipo de coma flotante del lenguaje (number, float64, f64), null se asigna a un tipo anulable o de valor según el destino, y un campo que tiene tipos distintos entre muestras recae en un tipo permisivo (unknown, interface{}, serde_json::Value) en lugar de adivinar.
¿Por qué mi salida está vacía o muestra un error?
La entrada debe ser JSON válido. Si el análisis falla, la herramienta muestra el error con la línea y la columna cuando están disponibles; corrige el punto señalado y el código se regenera al instante.

Herramientas relacionadas