Générateur JSON vers Go

Entrée JSON

Chargement de l’éditeur…

Go Généré

Configuration

Saisissez du JSON pour générer des structs Go

Structs avec noms de champs corrects et tags JSON

Comment convertir JSON en Go – guide étape par étape

Utilisez ce générateur JSON to Go pour créer des structures Go avec des balises JSON à partir d'exemples JSON pour les API et les services.

  1. Étape 1 – Collez un échantillon JSON

    • Collez un objet ou un tableau JSON représentatif dans l'éditeur de gauche.
    • Incluez des objets imbriqués, des tableaux et des champs nullables afin que les types soient correctement déduits.
    • Utilisez Import pour charger JSON à partir d'un fichier, d'une URL ou d'un exemple de données.
  2. Étape 2 – Choisissez les options de structure Go

    • Définissez une racine Struct Name (par exemple Root).
    • Décidez comment gérer les champs facultatifs (*string, omitempty ou types personnalisés).
    • Confirmez les balises JSON et les noms afin que les clés soient correctement mappées (par exemple json:"createdAt").
  3. Étape 3 – Vérifiez le code généré

    • Vérifiez les noms de champs, les types et la façon dont les tableaux/objets sont modélisés.
    • Ajustez les options telles que Root Type Name, la gestion des valeurs nulles et les frameworks si disponibles.
    • Si un champ est déduit de manière incorrecte, modifiez votre exemple JSON et régénérez-le.
  4. Étape 4 – Utiliser les structures dans Go

    • Collez les structures dans votre package et exécutez gofmt.
    • Démarrez avec encoding/json dans le type racine.
    • Ajoutez une validation (par exemple des champs obligatoires) à la limite de l'API.
  5. Étape 5 – Copier ou télécharger

    • Copiez la sortie dans votre projet ou téléchargez-la sous forme de fichier.
    • Exécutez votre formateur/linter pour qu'il corresponde à votre style de code.
    • Ajoutez des bibliothèques d'analyse/sérialisation JSON si votre langage l'exige.

Conseils rapides

  • Utilisez des pointeurs pour les champs nullables lorsque vous devez distinguer les champs manquants des champs vides.
  • Préférez time.Time uniquement lorsque vous contrôlez le format d'horodatage.
  • Gardez les structures DTO séparées des modèles de domaine internes si nécessaire.
Exemple de résultat (simplifié)
// Entrée 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"`
}

Outils JSON & Go associés

Explorez d'autres outils JSON et de schéma qui fonctionnent parfaitement avec ce générateur JSON to Go.

Questions fréquentes

Quelles fonctionnalités Go sont prises en charge ?

Le générateur crée des structs Go avec des noms de champs corrects, des tags JSON pour marshal/unmarshal, et des types Go adaptés, en respectant les conventions de nommage Go.

Comment les tags JSON sont‑ils gérés ?

Le générateur ajoute automatiquement des tags JSON aux champs. Vous pouvez aussi activer des tags YAML ou XML pour supporter plusieurs formats.

Puis‑je personnaliser le nom du package ?

Oui ! Vous pouvez définir n’importe quel nom de package. Par défaut, c’est « main », mais vous pouvez utiliser « models », « types », etc.

Comment les conventions de nommage Go sont‑elles appliquées ?

Le générateur convertit les noms de champs JSON en noms Go corrects (PascalCase pour les champs exportés) tout en conservant le nom original dans les tags JSON.

Générateur JSON vers Go | JSONSwiss