Générateur d'exemple JSON depuis un struct Go
Collez une définition de struct Go avec des tags json pour générer automatiquement des données JSON d'exemple correspondantes. Prend en charge les structs imbriqués, les slices, omitempty et json:"-", pratique pour les mocks d'API et les exemples Postman.
Astuces d'utilisation
- Collez plusieurs structs ensemble : les types des champs imbriqués sont résolus automatiquement et des objets d'exemple sont générés de manière récursive (si une définition est introuvable, un objet vide {} est utilisé et un avertissement s'affiche).
- Indiquez un nom de struct cible pour choisir lequel devient la racine lorsque votre entrée en contient plusieurs (le premier struct rencontré est utilisé si le champ est laissé vide).
- Les champs marqués json:"-" sont exclus de la sortie JSON. Les champs avec omitempty voient tout de même leur clé émise normalement ; supprimez-la manuellement si vous n'en avez pas besoin.
- Les valeurs générées ne sont que des marqueurs de type (les chaînes deviennent "example", les nombres deviennent 1, etc.). Remplacez-les par des données réelles si vous avez besoin d'un véritable exemple de réponse d'API.
- Cet outil est l'inverse de son outil jumeau, le convertisseur JSON vers struct Go. Il permet de transformer rapidement un struct défini dans un handler Go en une charge utile d'exemple pour votre équipe frontend ou QA.
Questions fréquentes
Anecdote — l'inverse de la conversion JSON vers struct Go
Lors de la construction d'une API web en Go, la forme de la réponse est généralement définie en combinant un struct avec des tags json. Mais lorsqu'un développeur frontend ou un ingénieur QA veut vérifier le comportement de l'API, lire le code Go et convertir mentalement chaque type de champ en JSON est une tâche fastidieuse et source d'erreurs.
Cet outil effectue exactement l'opération inverse de son outil jumeau, le « Convertisseur JSON vers struct Go ». Collez une définition de struct Go, et il génère une charge utile JSON d'exemple avec des noms de clés suivant les tags json et des valeurs de substitution correspondant au type de chaque champ, prête à être utilisée directement dans un exemple Postman ou un mock frontend.
Cela dit, il ne s'agit pas d'un véritable compilateur Go, mais d'un analyseur léger construit sur des expressions régulières et une analyse ligne par ligne. Il gère les définitions de champs simples ainsi que les structs imbriqués collés ensemble dans la même entrée, mais des notations complexes comme les structs anonymes imbriqués ou les déclarations de type sur plusieurs lignes peuvent ne pas être analysées correctement. Considérez-le comme un premier brouillon et vérifiez la forme finale avec le code source Go réel.