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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Convert JSON into a PHP array literal. Choose short [] or array() syntax, indentation, and an optional variable assignment, then copy the result. 100% in your browser.
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.
0 comments
No comments yet. Be the first to share your thoughts!