Saltar al contenido
ToolMug

Convertir JSON a struct de Go

Pega JSON y obtén definiciones de structs de Go con etiquetas json, listas para encoding/json. Los nombres de los campos siguen las convenciones de Go, los objetos anidados se convierten en tipos propios y las columnas se alinean como con gofmt.

Funciona en tu navegador: nada de lo que introduces se sube

Cómo se usa

  1. Pega un ejemplo de JSON o haz clic en «Cargar ejemplo».
  2. Indica el nombre del struct raíz en «Nombre del tipo raíz».
  3. Copia o descarga el código generado y añádelo a tu paquete.

Opciones explicadas

Nombre del tipo raíz
Nombre del struct de nivel superior. Los structs anidados reciben el nombre de sus claves.

Ejemplos

{"user_id": 7, "email": null, "tags": ["a"]} se convierte en:

type Root struct {
	UserID int64    `json:"user_id"`
	Email  any      `json:"email"`
	Tags   []string `json:"tags"`
}

Preguntas frecuentes

¿Cómo se eligen los nombres de los campos?

Las claves se convierten en nombres exportados en PascalCase, y las siglas comunes se escriben en mayúsculas como recomienda el estilo de Go — user_id pasa a UserID y homeUrl a HomeURL. La clave original se conserva en la etiqueta json.

¿Cuándo usa punteros y omitempty?

Las claves que faltan en algunos elementos del array llevan omitempty. Los valores que a veces son null se convierten en punteros (*string) para distinguir null de un valor vacío; los structs anidados opcionales también son punteros.

¿Qué tipos numéricos se usan?

Los números enteros pasan a int64 y los que tienen decimales, a float64. Si una clave tiene ambos en distintos elementos, se usa float64.

¿Se sube mi JSON?

No. Los tipos se generan en tu navegador, así que las respuestas de API con datos reales no salen de tu dispositivo.

Privacidad

Esta herramienta funciona por completo en tu navegador. Tus archivos y textos se procesan en tu dispositivo y nunca se suben a nuestros servidores.

Herramientas relacionadas