Convertir JSON a Go Struct
Genera structs de Go tipadas con etiquetas JSON. Gratis, en tu navegador.
Para qué sirve
JSON a Go struct para desarrollo de APIs
Compatible con encoding/json
El código generado funciona directamente con el paquete estándar encoding/json de Go sin dependencias externas.
100% privado
Tu JSON se procesa en el navegador. Nunca se envía a servidores. Ideal para JSONs con datos sensibles de APIs internas.
Tipos inferidos correctamente
Detecta string, int, float64, bool, arrays y structs anidadas. Genera el tipo Go más apropiado para cada valor.
Instantáneo
La generación ocurre mientras escribes. Sin esperas, sin envíos de formularios.
Cómo funciona
Tres pasos, sin complicaciones
Pega tu JSON
Escribe o pega el JSON que representa la estructura de tu API o configuración. El editor valida el JSON en tiempo real.
Obtén tu struct de Go
La herramienta genera automáticamente una struct de Go con tipos inferidos (string, int, float64, bool, slice, struct anidada) y etiquetas `json:"campo"`.
Copia y usa en tu proyecto
Copia el código generado directamente a tu archivo .go. Compatible con encoding/json estándar de Go.
Preguntas frecuentes
¿Tienes dudas?
Go es un lenguaje fuertemente tipado. Para decodificar respuestas JSON de una API necesitas una struct que coincida con la estructura del JSON. Definir estas structs manualmente es tedioso y propenso a errores. Esta herramienta automatiza ese proceso, generando structs con los tipos correctos y etiquetas `json:` que mapean exactamente los campos del JSON original.
Las etiquetas `json:"nombre"` en los campos de una struct le indican al paquete encoding/json cómo serializar y deserializar ese campo. Si el JSON tiene una clave `user_name`, la etiqueta `json:"user_name"` mapea ese campo a cualquier nombre de campo Go que prefieras, como `UserName`. Sin etiquetas, Go requiere que los nombres de campo coincidan exactamente (respetando mayúsculas).
Cuando el JSON contiene objetos dentro de objetos, la herramienta genera structs anidadas. Por ejemplo, si tienes `{"address": {"city": "Madrid"}}`, se genera una struct `Address` con campo `City string` y la struct principal tendrá `Address Address`. Los nombres siguen la convención CamelCase de Go.
Go usa CamelCase para los identificadores exportados. La herramienta convierte automáticamente snake_case (`user_name`), kebab-case (`user-name`) y otros estilos a PascalCase (`UserName`). Los campos exportados (con mayúscula inicial) son necesarios para que encoding/json pueda acceder a ellos.
En JSON, un campo puede estar ausente o ser null. En Go, el valor cero de string es `""` y de int es `0`, lo que hace imposible distinguir entre 'campo ausente' y 'campo con valor cero'. Al usar punteros (`*string`, `*int`), el valor nil indica que el campo estaba ausente o era null. La herramienta genera punteros cuando infiere que un campo puede ser opcional basándose en la presencia de valores null en el JSON de ejemplo.
Go y Golang: adopción en desarrollo de APIs, seguridad de tipos y trabajo con JSON
Go (también llamado Golang) fue creado por Google en 2009 y lanzado públicamente en 2012. Su diseño prioriza la simplicidad, la compilación rápida y el rendimiento. A diferencia de Python o JavaScript, Go es fuertemente tipado y compilado, lo que significa que los errores de tipo se detectan en tiempo de compilación, no en ejecución. Esto lo hace especialmente valioso para servicios de backend y APIs donde la fiabilidad es crítica.
El desarrollo de APIs REST con Go generalmente implica decodificar JSON del cuerpo de las peticiones y codificar structs Go como JSON en las respuestas. El paquete encoding/json de la biblioteca estándar maneja esta serialización/deserialización. Las etiquetas de struct como `json:"field_name,omitempty"` dan control preciso sobre cómo se mapean los campos. Go es el lenguaje detrás de herramientas como Docker, Kubernetes, Terraform y CockroachDB.
La adopción de Go ha crecido consistentemente en el índice TIOBE y en encuestas de Stack Overflow. Su concurrencia basada en goroutines y channels, y su modelo de memoria eficiente lo hacen ideal para microservicios de alta carga. Generar structs automáticamente desde JSON de respuestas de APIs externas (como Stripe, Twilio o APIs REST propias) es una tarea diaria para desarrolladores Go, y automatizar ese proceso ahorra tiempo significativo en proyectos con esquemas JSON complejos o cambiantes.