Omnikit
DevFichiersFinancesTous les outils
Ctrl K
Outils pour développeursOutils pour fichiersCalculateurs financiersTous les outils
AccueilOutils pour développeursConvertisseur JSON en structs Go
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский

Convertisseur JSON en structs Go

dev

Transformez un échantillon JSON en structs Go avec tags json, int ou float64, pointeurs et omitempty

Fonctionne dans votre navigateur. Rien de ce que vous saisissez n'est envoyé nulle part. Vérifié le 16 octobre 2026.

Collez un échantillon JSON et obtenez des types struct Go avec tags json, prêts pour json.Unmarshal. Les nombres entiers deviennent int, int64 au-delà de 2 147 483 647, et la moindre décimale rend un champ float64 ; une valeur parfois null devient un pointeur, et les clés absentes de certains objets reçoivent omitempty.

Cette page a été traduite automatiquement à partir de l'original anglais. Aucune personne n’a encore relu la traduction : c’est la version anglaise qui fait foi. Lire l'original en anglais

Ensuite :
  • JSON vers TypeScript Générez des interfaces ou des types TypeScript à partir d'un exemple JSON
  • Formateur et validateur JSON Formatez, validez, minifiez et triez du JSON avec la position exacte des erreurs

Comment convertir du JSON en struct Go

1

Collez un échantillon JSON, par exemple une réponse d'API, dans la zone de gauche.

2

Les types Go apparaissent pendant la saisie : une struct par objet, avec des tags json et des noms au style Go comme UserID.

3

Choisissez Structs imbriquées en ligne ou omitempty sur chaque champ si vous le souhaitez, et indiquez le nom du type racine.

4

Cliquez sur Copier, ou sur Télécharger pour enregistrer un fichier .go, puis ajoutez votre ligne package.

À propos du Convertisseur JSON en structs Go

Go décode le JSON dans des structs, et chaque champ a besoin du bon type et d'un tag json:"..." qui nomme la clé. Ce convertisseur écrit ces types à partir d'un échantillon : une réponse d'API de 200 lignes devient du Go correct en un seul collage.

Comment les types sont choisis.

Valeur JSON Type Go
"text" string
true / false bool
42 (nombres entiers uniquement) int, ou int64 au-delà de 32 bits
4.5 (au moins une décimale vue) float64
null, plus un type un pointeur, comme *string
null seul, ou types mélangés any
[ ... ] un slice, comme []string
{ ... } une struct nommée, ou en ligne

Tableaux d'objets. Tous les objets d'un tableau sont fusionnés en une seule struct : un champ présent dans certains seulement reste là, avec ,omitempty dans son tag. Deux objets ayant exactement les mêmes clés et types partagent un nom de type.

Noms. Les clés deviennent des noms Go exportés au style Go : user_id devient UserID, avatar_url devient AvatarURL, d'après la liste de sigles de golint. Une clé qui commence par un chiffre reçoit un N devant ; deux clés qui donneraient le même nom sont numérotées. Une clé contenant des caractères qu'un tag ne peut pas porter, comme une virgule, est signalée par un commentaire, car encoding/json ne la ferait pas correspondre.

Options. Structs imbriquées en ligne écrit un seul type avec des structs anonymes à l'intérieur, ce qui convient à une réponse ponctuelle. omitempty sur chaque champ convient aux structs que vous sérialisez aussi. Le type racine s'appelle Root sauf si vous le nommez.

Chaque résultat a été vérifié en relisant le Go et en décodant l'échantillon selon les règles d'encoding/json. Rien de ce que vous collez ne quitte le navigateur.

Questions fréquentes

Comment convertir du JSON en struct Go ?

Collez un échantillon JSON dans le convertisseur et la struct Go apparaît à côté, avec un tag json sur chaque champ et les objets imbriqués comme types à part. Copiez-la dans votre paquet et décodez avec json.Unmarshal(data, &v), où v est une variable du type racine.

Les nombres JSON doivent-ils être int ou float64 en Go ?

Utilisez int quand chaque valeur de l'échantillon est un nombre entier et float64 quand une valeur a une partie décimale, car encoding/json refuse de mettre 4.5 dans un int. Le convertisseur choisit champ par champ, et prend int64 quand un nombre entier dépasse 2 147 483 647.

Comment les valeurs null sont-elles traitées dans les structs Go ?

Un champ vu à la fois à null et avec une valeur devient un pointeur, comme *string : nil signifie null et une chaîne vide reste différente. Un champ qui n'a jamais été que null devient any, puisque l'échantillon ne dit pas ce qu'il contiendrait autrement.

À quoi sert omitempty dans un tag json ?

Avec omitempty, json.Marshal omet le champ quand il contient la valeur zéro : une chaîne vide, 0, false, nil ou un slice vide. Le convertisseur l'ajoute aux clés absentes de certains objets d'un tableau, et un interrupteur l'ajoute à chaque champ.

Pourquoi le champ s'appelle-t-il UserID et non UserId ?

Le style Go, vérifié par golint et la plupart des linters, écrit les sigles en majuscules : ID, URL, HTTP, API, JSON et une quarantaine d'autres. Le tag json garde la clé d'origine, user_id ou userId, si bien que le décodage correspond toujours exactement à l'API.

Mon JSON est-il envoyé ?

Non. La conversion s'exécute dans votre navigateur sans aucune requête vers un serveur, et le JSON n'est pas conservé : les réponses d'API contenant des jetons ou des données personnelles restent sur votre appareil. Fermez l'onglet et il ne reste rien.

Sources

  • 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

Dernière vérification le 16 octobre 2026.

Les taux et les règles changent ; vérifiez la source avant de vous fier à un chiffre.

Toujours bloqué ? Poser une question sur Convertisseur JSON en structs Go et toute personne qui connaît la réponse peut répondre. Aucun compte nécessaire.

Outils associés

Tous les outils pour développeurs
Encoder et décoder en Base64Texte et fichiers vers Base64 et retour, avec mode sûr pour les URL et aperçu des imagesConvertisseur de timestamp UnixDes timestamps Unix vers des dates et des dates vers des timestamps, dans tout fuseau horaireJSON vers TypeScriptGénérez des interfaces ou des types TypeScript à partir d'un exemple JSONConvertisseur CSV en JSONConvertissez CSV en JSON et JSON en CSV, avec un aperçu en tableauConvertisseur YAML en JSONConvertissez YAML en JSON et JSON en YAML, avec les ancres résoluesEncodeur et décodeur d'URLEncodez ou décodez textes et URL en encodage pourcent, et voyez chaque partie d'un lienConvertisseur de bases numériquesBinaire, octal, décimal, hexadécimal et toute base jusqu'à 36, exact quelle que soit la taille, avec complément à deuxColor ConverterHEX, RGB, HSL, HWB, OKLCH and CMYK in both directions, with a contrast check
Cet outil vous a-t-il été utile ?
Omnikit

Les petites tâches, faites dans votre navigateur. Gratuit, rapide et privé. Les fichiers ne sont jamais envoyés.

Fichiers

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

Dev

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

Finances

  • SIP Calculator
  • EMI Calculator
  • GST Calculator
  • FD Calculator
  • PPF Calculator
  • Lumpsum Calculator
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский
GuidesQuestionsÀ proposNos vérificationsBibliothèque juridique (bêta)ConfidentialitéConditionsTransparenceContactMore: Exam practice (UGC NET Paper 1)Fonctionne dans votre navigateur. Rien n'est envoyé. © 2026 Omnikit (theomnikit.com)