Aller au contenu
ToolMug

Convertir JSON en struct Go

Collez du JSON et obtenez des définitions de structs Go avec tags json, prêtes pour encoding/json. Les noms de champs suivent les conventions Go, les objets imbriqués deviennent des types à part, et les colonnes sont alignées comme avec gofmt.

Fonctionne dans votre navigateur — rien de ce que vous saisissez n’est envoyé

Mode d’emploi

  1. Collez un exemple JSON, ou cliquez sur « Charger un exemple ».
  2. Indiquez le nom de la struct racine.
  3. Copiez ou téléchargez le code généré et ajoutez-le à votre package.

Explication des options

Nom du type racine
Nom de la struct de premier niveau. Les structs imbriquées sont nommées d’après leurs clés.

Exemple

{"user_id": 7, "email": null, "tags": ["a"]} devient :

type Root struct {
	UserID int64    `json:"user_id"`
	Email  any      `json:"email"`
	Tags   []string `json:"tags"`
}

Questions fréquentes

Comment les noms de champs sont-ils choisis ?

Les clés sont converties en noms exportés en PascalCase, et les sigles courants sont écrits en majuscules comme le recommande le style Go : user_id devient UserID et homeUrl devient HomeURL. La clé d’origine est conservée dans le tag json.

Quand utilise-t-il des pointeurs et omitempty ?

Les clés absentes de certains éléments d’un tableau reçoivent omitempty. Les valeurs parfois null deviennent des pointeurs (*string), pour distinguer null d’une valeur vide ; les structs imbriquées optionnelles sont aussi des pointeurs.

Quels types numériques sont utilisés ?

Les nombres entiers deviennent int64 et les nombres décimaux float64. Si une clé contient les deux selon les éléments, float64 est utilisé.

Mon JSON est-il envoyé sur un serveur ?

Non. Les types sont générés dans votre navigateur : les réponses d’API contenant des données réelles restent sur votre appareil.

Confidentialité

Cet outil fonctionne entièrement dans votre navigateur. Vos fichiers et vos textes sont traités sur votre appareil et ne sont jamais envoyés à nos serveurs.

Outils similaires