Omnikit
DesarrolloArchivosDineroTodas las herramientas
Ctrl K
Herramientas de desarrolloHerramientas de archivosCalculadoras financierasTodas las herramientas
InicioHerramientas para desarrolladoresConvertidor de JSON a structs de Go
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский

Convertidor de JSON a structs de Go

desarrollo

Convierta una muestra JSON en structs de Go con etiquetas json, int o float64, punteros y omitempty

Se ejecuta en su navegador. Nada de lo que escribe se envía a ningún sitio. Comprobado el 16 de octubre de 2026.

Pegue una muestra JSON y obtenga tipos struct de Go con etiquetas json, listos para json.Unmarshal. Los números enteros pasan a int, a int64 por encima de 2,147,483,647, y cualquier decimal convierte el campo en float64; un valor que a veces es null pasa a ser un puntero, y las claves ausentes en algunos objetos reciben omitempty.

Esta página se ha traducido automáticamente del original en inglés. Ninguna persona ha revisado todavía la traducción, así que la versión en inglés es la que debe consultar. Leer el original en inglés

Siguiente:
  • JSON a TypeScript Genere interfaces o tipos de TypeScript a partir de una muestra JSON
  • Formateador y validador JSON Formatee, valide, minifique y ordene JSON con la posición exacta de cada error

Cómo convertir JSON en un struct de Go

1

Pegue una muestra JSON, por ejemplo la respuesta de una API, en el cuadro de la izquierda.

2

Los tipos Go aparecen mientras escribe: un struct por objeto, con etiquetas json y nombres al estilo Go como UserID.

3

Elija Structs anidados en línea u omitempty en cada campo si los quiere, y ponga el nombre del tipo raíz.

4

Pulse Copiar, o Descargar para guardar un archivo .go, y añada su línea package.

Acerca del Convertidor de JSON a structs de Go

Go decodifica JSON en structs, y cada campo necesita el tipo correcto y una etiqueta json:"..." que nombre la clave. Este convertidor escribe esos tipos a partir de una muestra, así que una respuesta de API de 200 líneas se convierte en Go correcto con un solo pegado.

Cómo se eligen los tipos.

Valor JSON Tipo Go
"text" string
true / false bool
42 (solo números enteros) int, o int64 más allá de 32 bits
4.5 (si aparece algún decimal) float64
null, y además un tipo un puntero, como *string
solo null, o tipos mezclados any
[ ... ] un slice, como []string
{ ... } un struct con nombre, o uno en línea

Arrays de objetos. Todos los objetos de un array se fusionan en un struct, así que un campo que aparece solo en algunos sigue estando, con ,omitempty en su etiqueta. Dos objetos con exactamente las mismas claves y tipos comparten un nombre de tipo.

Nombres. Las claves pasan a nombres Go exportados al estilo Go: user_id pasa a UserID, avatar_url a AvatarURL, según la lista de siglas de golint. Una clave que empieza por un dígito recibe una N delante; dos claves que darían el mismo nombre se numeran. Una clave con caracteres que una etiqueta no puede contener, como una coma, se marca con un comentario, porque encoding/json no la emparejaría.

Opciones. Structs anidados en línea escribe un solo tipo con structs anónimos dentro, lo que sirve para una respuesta puntual. omitempty en cada campo sirve para structs que también serializa. El tipo raíz se llama Root salvo que le ponga otro nombre.

Cada resultado se comprobó leyendo de nuevo el Go y decodificando la muestra con las reglas de encoding/json. Nada de lo que pegue sale del navegador.

Preguntas frecuentes

¿Cómo convierto JSON en un struct de Go?

Pegue una muestra JSON en el convertidor y el struct de Go aparece al lado, con una etiqueta json en cada campo y los objetos anidados como tipos propios. Cópielo en su paquete y decodifique con json.Unmarshal(data, &v), donde v es una variable del tipo raíz.

¿Los números JSON deben ser int o float64 en Go?

Use int cuando cada valor de la muestra sea un número entero y float64 cuando algún valor tenga parte decimal, porque encoding/json se niega a meter 4.5 en un int. El convertidor elige por campo, y toma int64 cuando un número entero supera 2,147,483,647.

¿Cómo se tratan los valores null en los structs de Go?

Un campo visto tanto como null como con valor pasa a ser un puntero, como *string, de modo que nil significa null y una cadena vacía sigue siendo distinta. Un campo que solo fue null pasa a any, ya que la muestra no dice qué contendría en otro caso.

¿Qué hace omitempty en una etiqueta json?

Con omitempty, json.Marshal omite el campo cuando contiene el valor cero: una cadena vacía, 0, false, nil o un slice vacío. El convertidor lo añade a las claves que faltan en algunos objetos de un array, y un interruptor lo añade a todos los campos.

¿Por qué el campo se llama UserID y no UserId?

El estilo de Go, que comprueban golint y la mayoría de los linters, escribe las siglas en mayúsculas: ID, URL, HTTP, API, JSON y unas cuarenta más. La etiqueta json conserva la clave original, user_id o userId, así que la decodificación sigue coincidiendo exactamente con la API.

¿Se sube mi JSON?

No. La conversión se hace en su navegador sin ninguna petición a un servidor, y el JSON no se guarda, así que las respuestas de API con tokens o datos personales se quedan en su dispositivo. Cierre la pestaña y no queda nada.

Fuentes

  • The Go Programming Language Specification, Struct typesField declarations, identifiers and tags
  • Go standard library, encoding/jsonTag syntax, omitempty, how numbers and null decode
  • golint, lint.go (commonInitialisms)The initialisms written in capitals: ID, URL, HTTP, API and others

Última verificación: 16 de octubre de 2026.

Los tipos y las normas cambian; consulte la fuente antes de fiarse de una cifra.

¿Sigue sin resolverlo? Pregunte sobre Convertidor de JSON a structs de Go y cualquiera que lo sepa puede responder. No se necesita cuenta.

Herramientas relacionadas

Todas las herramientas para desarrolladores
Codificar y decodificar Base64Texto y archivos a Base64 y de vuelta, con modo seguro para URL y vista previa de imágenesConversor de timestamp UnixDe timestamps Unix a fechas y de fechas a timestamps, en cualquier zona horariaJSON a TypeScriptGenere interfaces o tipos de TypeScript a partir de una muestra JSONConvertir CSV a JSONConvierta CSV a JSON y JSON a CSV, con una vista previa en tablaConvertir YAML a JSONConvierta YAML a JSON y JSON a YAML, con los anclajes resueltosCodificador y decodificador de URLCodifique o decodifique texto y URL con codificación porcentual y vea cada parte de un enlaceConversor de coloresHEX, RGB, HSL, HWB, OKLCH y CMYK en ambos sentidos, con comprobación de contrasteConversor de bases numéricasBinario, octal, decimal, hexadecimal y cualquier base hasta 36, exacto a cualquier tamaño, con complemento a dos
¿Le ha resultado útil esta herramienta?
Omnikit

Tareas pequeñas, hechas en su navegador. Gratis, rápido y privado. Los archivos nunca se suben.

Archivos

  • Compress Image
  • Image to PDF
  • Merge PDF
  • Compress PDF
  • PDF to Word
  • Word to PDF

Desarrollo

  • JSON Formatter & Validator
  • Base64 Encode & Decode
  • JWT Decoder, Verifier & Encoder
  • Password Generator
  • UUID Generator
  • Unix Timestamp Converter

Dinero

  • SIP Calculator
  • EMI Calculator
  • GST Calculator
  • FD Calculator
  • PPF Calculator
  • Lumpsum Calculator
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский
GuíasPreguntasAcerca deCómo verificamosBiblioteca de leyes (beta)PrivacidadCondicionesDivulgaciónContactoMore: Exam practice (UGC NET Paper 1)Se ejecuta en su navegador. No se sube nada. © 2026 Omnikit (theomnikit.com)