Advertisement728 × 90 — Leaderboard
Advertisement320 × 50 — Mobile banner

Generador de Structs Go desde JSON

Genera definiciones de structs Go desde JSON
Sesión restaurada de tu última visita
También necesitas:Formateador JSONJSON a TypeScriptJSON a Python Dict
Advertisement — Fullscreen
Entrada
Salida
Entrada
AdvertisementResponsive
Salida
Listo0 chars0 lines
Advertisement728 × 90

Acerca de Generador de Structs Go desde JSON

Pega JSON y obtén definiciones de structs Go con etiquetas de campo correctas.

Preguntas frecuentes

¿Qué es la generación de structs de Go desde JSON?
La generación de structs de Go desde JSON analiza una muestra de JSON y produce definiciones de structs de Go con etiquetas de campo json:"...". El resultado puede usarse directamente con encoding/json para deserializar el mismo JSON en tiempo de ejecución.
¿Cómo añado etiquetas json para nombres de campo en camelCase de JSON en Go?
El generador añade automáticamente las etiquetas json:"nombreCampo" usando la clave JSON original. Por ejemplo, "firstName" en JSON se convierte en FirstName string `json:"firstName"` en la estructura. El nombre del campo exportado de Go sigue la convención PascalCase mientras que la etiqueta conserva la capitalización original para que encoding/json la use durante el marshal y unmarshal.
¿Cuándo debo usar tipos puntero frente a tipos valor en campos de struct de Go?
Usa tipos puntero (*string, *int) para campos JSON opcionales que pueden ser null o estar ausentes: un puntero nil distingue "ausente" del valor cero. Usa tipos valor (string, int) para campos obligatorios que siempre están presentes. El generador usa tipos valor por defecto; añade * manualmente a los campos que pueden ser null.
¿Cómo funciona omitempty con las etiquetas de struct JSON en Go?
Añadir ,omitempty a una etiqueta (por ejemplo, json:"email,omitempty") hace que el campo se omita del JSON marshallado cuando el valor es el valor cero (cadena vacía, 0, false, nil). No afecta al unmarshalling. Usa omitempty en campos de salida opcionales para mantener el JSON marshallado compacto.
¿Puedo deserializar JSON en una struct de Go sin definir todos los campos?
Sí. encoding/json ignora silenciosamente las claves JSON que no tienen un campo de struct correspondiente. Define solo los campos que necesitas. Alternativamente, incrusta un campo json.RawMessage para capturar claves desconocidas, o usa un map[string]interface{} para JSON completamente dinámico.
Advertisement300 × 250
Advertisement300 × 250
Ad
AdvertisementSticky banner