Generador de JSON a Go

Entrada JSON

Cargando editor…

Go Generado

Configuration

Ingresa datos JSON para generar structs de Go

Structs con nombres de campos correctos y tags JSON

Cómo convertir JSON a Go – guía paso a paso

Utilice este generador JSON para Go para crear estructuras Go con etiquetas JSON a partir de ejemplos JSON para API y servicios.

  1. Paso 1: pega una muestra JSON

    • Pegue un objeto o matriz JSON representativa en el editor de la izquierda.
    • Incluye objetos anidados, matrices y campos que aceptan valores NULL para que los tipos se infieran correctamente.
    • Utilice Import para cargar JSON desde un archivo, URL o datos de muestra.
  2. Paso 2: elija las opciones de estructura Ir

    • Establezca una raíz Struct Name (por ejemplo Root).
    • Decida cómo manejar los campos opcionales (*string, omitempty o tipos personalizados).
    • Confirme las etiquetas JSON y los nombres para que las claves se asignen correctamente (por ejemplo, json:"createdAt").
  3. Paso 3: revisar el código generado

    • Verifique los nombres de los campos, los tipos y cómo se modelan las matrices/objetos.
    • Ajuste opciones como Root Type Name, manejo de nulos y marcos si están disponibles.
    • Si un campo se infiere incorrectamente, modifique su JSON de muestra y vuelva a generarlo.
  4. Paso 4: use las estructuras en Go

    • Pegue las estructuras en su paquete y ejecute gofmt.
    • Desarme con encoding/json en el tipo raíz.
    • Agregue validación (por ejemplo, campos obligatorios) en el límite de la API.
  5. Paso 5: copiar o descargar

    • Copie el resultado en su proyecto o descárguelo como un archivo.
    • Ejecute su formateador/linter para que coincida con su estilo de código.
    • Agregue bibliotecas de análisis/serialización JSON si su idioma las requiere.

Consejos rápidos

  • Utilice punteros para campos que acepten valores NULL cuando necesite distinguir los que faltan de los que están vacíos.
  • Prefiere time.Time solo cuando controlas el formato de marca de tiempo.
  • Mantenga las estructuras DTO separadas de los modelos de dominio interno cuando sea necesario.
Salida de ejemplo (simplificada)
// entrada JSON
{
  "id": 123,
  "name": "Maeve Winters",
  "email": "[email protected]",
  "active": true,
  "roles": ["admin", "editor"],
  "metadata": { "plan": "pro" },
  "createdAt": "2024-03-01T10:15:00Z",
  "score": 99.5,
  "notes": null
}

// Generated Go structs (simplified)
type Metadata struct {
  Plan string `json:"plan"`
}

type Root struct {
  ID        int       `json:"id"`
  Name      string    `json:"name"`
  Email     *string   `json:"email"`
  Active    bool      `json:"active"`
  Roles     []string  `json:"roles"`
  Metadata  Metadata  `json:"metadata"`
  CreatedAt string    `json:"createdAt"`
  Score     float64   `json:"score"`
  Notes     any       `json:"notes"`
}

Herramientas JSON y Go relacionadas

Explore más herramientas JSON y de esquemas que funcionan muy bien junto con este generador JSON to Go.

Preguntas frecuentes

¿Qué características de Go se admiten?

El generador crea structs de Go con nombres de campos adecuados, tags JSON para marshaling/unmarshaling y tipos de datos apropiados siguiendo las convenciones de nombres de Go.

¿Cómo se manejan los tags JSON?

El generador agrega tags JSON automáticamente a los campos del struct para una serialización correcta. También puedes habilitar tags YAML o XML si necesitas soporte multi‑formato.

¿Puedo personalizar el nombre del paquete?

¡Sí! Puedes especificar cualquier nombre de paquete. El valor por defecto es "main", pero puedes usar nombres como "models", "types", etc.

¿Cómo se manejan las convenciones de nombres de Go?

El generador convierte nombres de campos JSON a nombres Go apropiados (PascalCase para campos exportados) y conserva los nombres originales en los tags JSON.

Generador de JSON a Go | JSONSwiss