Saltar al contenido
Aback Tools Logo

JSON a struct de Go

Convierte cualquier objeto JSON a un struct de Go online y gratis con nuestro conversor de json a struct de go. Infiere automáticamente los tipos de Go, genera structs separados para objetos anidados, añade etiquetas json y convierte claves snake_case en nombres de campo PascalCase, sin registro.

JSON to Go Struct

Paste your JSON object and click Convert. The tool infers Go types for every field and generates a complete struct with json tags - including nested structs for nested objects. All conversion runs locally in your browser.

Tips:
  • Nested JSON objects generate separate named structs automatically
  • snake_case JSON keys are converted to PascalCase Go field names
  • ISO 8601 datetime strings are inferred as time.Time
  • Use "Pointer for null fields" to generate *T for nullable fields
  • Use "json + db tags" for GORM or sqlx database field mapping

¿Por qué usar nuestro conversor de JSON a struct de Go?

  • Conversión instantánea de JSON a struct de Go: convierte cualquier objeto JSON en un struct de Go al instante en tu navegador. Nuestro conversor de json a struct de go infiere todos los tipos de Go (string, int64, float64, bool, []T, time.Time y structs anidados) en milisegundos.
  • Conversión segura de JSON a struct de Go online: toda la conversión de JSON a struct de Go ocurre localmente en tu navegador. Tus datos JSON nunca salen de tu dispositivo, lo que garantiza el 100 % de privacidad cuando usas nuestro conversor de json a struct de go online.
  • JSON a struct de Go online - sin instalación: usa nuestro conversor de json a struct de go directamente en tu navegador sin descargas, complementos ni software. Convierte JSON a structs de Go desde cualquier dispositivo y en cualquier momento.
  • Etiquetas de struct, tipos puntero y structs anidados: nuestro conversor de json a struct de go genera etiquetas json automáticamente, soporta etiquetas db para GORM/sqlx, configura tipos puntero para campos anulables y genera structs separados y con nombre para objetos anidados.

Casos de uso comunes del conversor de JSON a struct de Go

  • Desarrollo de clientes de API REST: los desarrolladores de Go usan nuestro conversor de json a struct de go para generar structs a partir de ejemplos de respuestas de API REST. Pega el JSON de la documentación de tu API y obtén al instante structs de Go tipados para json.Unmarshal y el código de tu cliente HTTP.
  • Definición de modelos de base de datos y GORM: los desarrolladores backend usan nuestro conversor de json a struct de go con «etiquetas json + db» para crear modelos de GORM y structs de sqlx a partir de datos JSON. Genera structs de Go listos para base de datos con etiquetas de campo json y db en un solo paso.
  • Integración con API de terceros: los desarrolladores que se integran con Stripe, GitHub, Twilio u otras API usan nuestro conversor de json a struct de go para generar structs de Go a partir de los ejemplos de la documentación. Obtén structs tipados con precisión sin leer el código fuente del SDK.
  • Modelado de datos en microservicios: los desarrolladores de microservicios en Go usan nuestro conversor de json a struct de go para modelar las cargas útiles JSON que se intercambian entre servicios. Convierte esquemas de solicitud y respuesta en structs de Go tipados para manejadores de gRPC, REST y colas de mensajes.
  • Análisis de archivos de configuración: los desarrolladores de Go usan nuestro conversor de json a struct de go para crear structs tipados a partir de archivos de configuración JSON. Sustituye el acceso sin tipo con map[string]interface por structs de Go estructurados para obtener mejor soporte del IDE y seguridad en tiempo de compilación.
  • Migración de JavaScript a Go: los equipos que migran de Node.js a Go usan nuestro conversor de json a struct de go para modelar rápidamente estructuras de datos JSON existentes como structs de Go tipados. Convierte contratos de API y modelos de datos en segundos.

¿Qué es un struct de Go?

Un struct de Go es un tipo de datos compuesto que agrupa campos de distintos tipos bajo un solo nombre. Los structs son la forma principal de modelar datos estructurados en Go: se usan para la deserialización JSON, modelos de base de datos, tipos de solicitud/respuesta de API y objetos de configuración. Nuestro conversor de json a struct de go analiza un objeto JSON y genera un struct de Go completo con las anotaciones de tipo y etiquetas json adecuadas para un marshaling y unmarshaling JSON sin problemas. Las claves JSON en snake_case se convierten automáticamente en nombres de campo de Go en PascalCase siguiendo las convenciones de nombres de Go.

Cómo funciona nuestro conversor de JSON a struct de Go

  1. 1. Pega tu JSON: introduce cualquier objeto o array JSON válido. El conversor acepta cualquier estructura JSON, incluidos objetos profundamente anidados y arrays de objetos. Todo el procesamiento ocurre localmente en tu navegador: tus datos JSON nunca salen de tu dispositivo.
  2. 2. Configura las opciones: define el nombre del struct raíz, elige el estilo de etiquetas (solo json, json + db o ninguna) y configura el manejo de tipos puntero para campos anulables. Las cadenas de fecha y hora ISO 8601 se infieren automáticamente como time.Time .
  3. 3. Copia o descarga: consulta el código Go generado con la declaración package main y los imports necesarios. Cópialo al portapapeles o descárgalo como models.go para usarlo de inmediato en tu proyecto de Go.

Mapeo de tipos de JSON a Go

  • string → string: las cadenas JSON se asignan a string de Go. Las cadenas de fecha y hora ISO 8601 (p. ej. "2024-01-15T10:30:00Z" ) se infieren como time.Time .
  • integer → int64, float → float64: los enteros JSON se asignan a int64 ; los flotantes JSON se asignan a float64 .
  • boolean → bool: los valores JSON true / false se asignan a bool de Go.
  • null → interface o *T: los valores null de JSON se asignan a interface por defecto. Con el modo «Puntero para campos null», los campos null pasan a *string (o al tipo puntero adecuado).
  • array → []T: los arrays JSON se asignan a slices de Go. El tipo de elemento se infiere del primer elemento. Los arrays vacíos se asignan a []interface .
  • object → struct anidado: los objetos JSON anidados generan structs de Go separados y con nombre. El nombre del struct se deriva de la clave JSON en PascalCase.

Explicación de las etiquetas de struct de Go

Las etiquetas de struct de Go son literales de cadena adjuntos a los campos de un struct que proporcionan metadatos a las bibliotecas de codificación/decodificación. La etiqueta json controla cómo se hace el marshaling del campo hacia y desde JSON; por ejemplo, `json:"first_name,omitempty"` asigna el campo de Go FirstName a la clave JSON «first_name» y omite el campo de la salida JSON cuando está vacío. La etiqueta db la usan GORM y sqlx para el mapeo de columnas de base de datos. Nuestro conversor de json a struct de go genera etiquetas json y db cuando se selecciona la opción «etiquetas json + db», lo que hace que los structs generados se puedan usar de inmediato tanto con API JSON como con bases de datos SQL.

Preguntas frecuentes

Un conversor de JSON a struct de Go analiza un objeto JSON y genera un struct de Go con anotaciones de tipo y etiquetas json correctas. Nuestro conversor infiere tipos string, int64, float64, bool, []T, time.Time y structs anidados, y convierte claves snake_case en nombres de campo PascalCase automáticamente.

Los objetos JSON anidados generan automáticamente structs de Go separados y con nombre. El nombre del struct se deriva de la clave JSON en PascalCase. Por ejemplo, una propiedad «address» genera un struct Address.

Las claves JSON se convierten en nombres de campo de Go en PascalCase. Las claves snake_case (p. ej. «first_name») pasan a PascalCase (p. ej. «FirstName»). Los acrónimos comunes como «id», «url», «api» y «uuid» se escriben en mayúsculas.

Las etiquetas de struct de Go controlan el marshaling JSON. La etiqueta json asigna los nombres de campo de Go a las claves JSON; por ejemplo, `json:"first_name,omitempty"` asigna FirstName a «first_name» en JSON.

Usa tipos puntero cuando un campo puede estar ausente o ser null en el JSON. Usa «Puntero para campos null» para generar *T solo en los campos que son null en el JSON de muestra.

Las cadenas JSON que coinciden con el formato de fecha y hora ISO 8601 se infieren automáticamente como time.Time. El conversor añade el import "time" necesario al código generado.

¡Sí! Nuestro conversor de json a struct de go es 100 % gratis, sin registro, sin cuenta y sin límites de uso. Convierte JSON a structs de Go para cualquier proyecto directamente en tu navegador.

Totalmente. Toda la conversión de JSON a struct de Go ocurre localmente en tu navegador usando JavaScript. No se envían datos JSON a ningún servidor, lo que garantiza una privacidad completa.

¡Sí! Selecciona «etiquetas json + db» para generar structs con etiquetas de struct json y db. La etiqueta db asigna los nombres de campo de Go a los nombres de columna de la base de datos para GORM, sqlx y otras bibliotecas de bases de datos de Go.