Qu'est-ce qu'un convertisseur de structure JSON to Go ?
Un convertisseur de structure JSON to Go transforme un document JSON en déclarations de type Go qui le décrivent, de sorte que vous pouvez désamorcer les mêmes données avec encodage/json au lieu de taper la structure à la main Chaque objet JSON devient une structure Go, chaque champ porte une balise json : « key » qui le ramène au nom d'origine, et les types scalaires sont déduits des valeurs : une chaîne JSON devient chaîne, un nombre entier devient int, une décimale devient float64, true et false deviennent bool, et null devient interface {}. Coller une charge utile et vous obtenez un bloc de type prêt à compiler en retour.
Il existe parce que l'écriture de Go structs à partir d'une réponse API réelle est fastidieuse et facile à se tromper subtilement Les noms de champs doivent être exportés et suivre les conventions Go, donc id devient ID et user_url devient UserURL, tandis que la balise json doit préserver la clé originale exacte ou json.Unmarshal saute silencieusement le champ Les objets imbriqués ont besoin de leur propre structure, et un tableau d'objets a besoin d'une structure unique qui couvre chaque clé de tout élément. Faire cela à travers une réponse profondément imbriquée est l'endroit où les erreurs s'insinuent. Le convertisseur applique ces règles de manière cohérente : les objets imbriqués deviennent des structs en ligne, et les tableaux d'objets fusionnent donc une clé qui apparaît dans certains éléments générés.
Tout s'exécute dans votre navigateur Le JSON que vous collez est analysé et analysé en JavaScript sur votre propre appareil, donc rien n'est téléchargé, enregistré ou stocké, et l'outil continue de travailler avec le réseau déconnecté une fois la page chargée. Cela compte lorsque la charge utile est une réponse API privée ou contient des clés et des valeurs que vous préférez ne pas envoyer nulle part. Vous pouvez renommer le type racine, basculer les entiers vers int64 lorsque vous avez besoin du type plus large et ajouter omitempty à chaque balise lorsque vous souhaitez que zéro valeur soit omise de la sortie codée.
Un court exemple montre le mappage aller JSON à struct. Coller {« order_id » : 1042, « total » : 19,5, « éléments » : [{« sku » : « A1 », « qty » : 2}, {« sku » : « B2 », « qty » : 1, « gift_note » : « Happy birthday »}]}, tapez l'ordre comme type racine et cliquez sur Convertir. Vous obtenez la structure d'ordre avec OrderID int, Total float64 et Item.
Comment utiliser le convertisseur struct JSON to Go ?
Collez votre JSON
Collez un objet ou un tableau JSON dans la zone de saisie Chargez d'abord l'échantillon si vous souhaitez voir la forme de la structure générée avant d'utiliser vos propres données.
Nommez le type de racine
Entrez un nom pour la structure de niveau supérieur, telle que User ou ApiResponse Il est nettoyé dans un identifiant Go exporté valide afin qu'il se compile comme écrit.
Définissez les options d'entier et de balise
Choisissez int ou int64 pour les nombres entiers et activez omitempty si vous souhaitez que les champs vides soient laissés de côté lorsque la structure est codée à nouveau en JSON.
Convertir et copier
Cliquez sur Convertir pour créer les définitions de structure, puis copiez-les dans votre fichier Go. JSON invalide est signalé avec le message d'analyseur exact afin que vous puissiez le corriger.
Principales caractéristiques
Corriger les balises json
Chaque champ conserve une balise json : « original_key », donc json.Unmarshal mappe les données au nom JSON exact, même lorsque le champ Go est renommé pour suivre les conventions.
Noms de champs de la convention Go
Les clés sont exportées et les initialismes courants sont en majuscules, donc id devient ID, user_url devient UserURL et html_body devient HTMLBody, correspondant aux attentes de golint.
Structs imbriqués en ligne
Les objets JSON imbriqués deviennent des structures littérales en ligne à n'importe quelle profondeur, de sorte que la forme entière vit dans une seule déclaration que vous pouvez coller en un seul bloc.
Fusion de tableaux d'objets
Un tableau d'objets produit une structure couvrant chaque clé de tout élément, et les types de valeurs contradictoires pour une clé reviennent à l'interface {} plutôt que d'échouer.
Frequently Asked Questions
Related Tools
JSON Schema Generator
Generate a JSON Schema from any JSON sample. Infers types, merges arrays of objects into one item schema, derives required fields, and detects date-time, email, uri, and uuid formats. Draft-07 and 2020-12 output. 100% client-side.
JSON Sorter
Sort the keys of a JSON object alphabetically, recursively through nested objects, with optional array sorting. Ascending or descending, minify or pretty. Client-side, no signup.
JSON to PHP Array
Convert JSON into a PHP array literal. Choose short [] or array() syntax, indentation, and an optional variable assignment, then copy the result. Runs client-side.
JSON to TypeScript
Generate TypeScript interfaces from any JSON sample. Infers nested types, merges arrays of objects into a single interface, marks nullable and missing keys optional, and emits clean exportable code. 100% client-side.
Comments
0 comments
No comments yet. Be the first to share your thoughts!