Échantillon GraphQL vers JSON
Colle un schéma GraphQL, récupère un document JSON conforme au type Query — chaque champ rempli, listes remplies, enums choisis
Entrée
Sortie
Qu'est-ce que l'outil Échantillon GraphQL vers JSON ?
Mocker une API GraphQL dans ta suite de tests revient en général à écrire à la main des données factices pour chaque type — ennuyeux, fragile, et le schéma s'éloigne de tes fixtures en un ou deux sprints. Cette page lit ton langage de définition de schéma GraphQL et produit un document JSON qui lui correspond. Colle ton SDL à gauche, et le panneau de droite te donne un objet JSON rempli : chaque champ du type Query renseigné, listes remplies de deux éléments, enums fixés à leur première valeur, et scalaires personnalisés comme DateTime ou URL mappés à des valeurs par défaut cohérentes.
Aucune dépendance de parser n'est chargée dans la page — le walker SDL est écrit à la main, ~600 lignes, et il couvre toutes les constructions qu'on rencontre dans un vrai schéma : type, interface, union, enum, input, scalar, modificateurs de liste et non-null, et types auto-référents. La sortie est du JSON brut selon le RFC 8259, indenté à deux espaces, prêt à être déposé dans un mock de fetch ou une réponse d'exemple Postman. Les champs nommés email, name, phone, currency ou status reçoivent des échantillons de valeur qui collent ; tout le reste retombe sur un générique "sample text".
Tout se passe dans ton navigateur. Ton schéma ne quitte jamais la page, aucun appel réseau n'est fait, et la conversion est instantanée.
Comment utiliser l'outil Échantillon GraphQL vers JSON
Trois étapes rapides. Les boutons décrits ci-dessous sont les vrais boutons de cette page.
Coller, téléverser ou charger un exemple
Colle un schéma GraphQL dans le panneau Entrée à gauche — la conversion est automatique environ un tiers de seconde après que tu arrêtes de taper, donc pas de bouton Convertir. Clique sur Téléverser pour un fichier .graphql ou .gql, ou appuie sur Exemple pour charger un schéma réaliste de commande e-commerce. Une entrée typique ressemble à ça :
type Query { order(id: ID!): Order } type Order { id: ID! customer: Customer! items: [OrderItem!]! total: Money! status: OrderStatus! placedAt: DateTime! }Les schémas style serveur (avec type Query { ... }) et les fichiers de types autonomes fonctionnent. Le walker prend Query comme racine s'il existe, sinon le premier type objet. Les formes acceptées correspondent à ce que des outils comme graphql-js parsent au démarrage.
Lire la sortie JSON
Le panneau Sortie à droite affiche l'échantillon JSON avec une indentation à deux espaces. Les types objet deviennent des objets. Les listes deviennent des tableaux à deux éléments. Les enums deviennent leur première valeur sous forme de chaîne. Les scalaires personnalisés reçoivent des valeurs par défaut cohérentes — DateTime devient un timestamp ISO-8601, URL devient "https://example.com/...", JSON devient {}. Les types auto-référents (type Person { friends: [Person!]! }) sont plafonnés à la profondeur 4 et tronqués avec null pour que la page ne plante jamais.
Copier ou télécharger
Clique sur Copier pour récupérer le JSON pour un fichier fixture, un serveur mock ou un stub de fetch. Clique sur Télécharger pour le sauvegarder en sample.json. Le bouton effacer du panneau d'entrée te remet à l'état vide. La conversion se fait entièrement côté client — ton schéma ne quitte jamais la page.
Quand tu t'en servirais vraiment
Fixtures de serveur GraphQL mock
Tu lances un backend mock avec json-graphql-server ou un mock Apollo Server et il te faut un fichier JSON de départ qui a la forme de ton schéma. Colle le SDL, copie la sortie, et tu es à 80% — ajuste les noms et les IDs, livre la fixture.
Réponses d'exemple Postman / Insomnia
Documenter un endpoint GraphQL dans Postman ou Insomnia, ça veut dire remplir un corps de réponse d'exemple pour chaque opération. Génère la forme JSON depuis le type, colle-la dans l'exemple, ajuste les valeurs au cas de test. Mieux que de taper à la main des objets imbriqués depuis zéro.
Brouillon de types côté frontend
Quand le backend livre un nouveau type GraphQL, le frontend a souvent besoin d'un payload d'exemple pour câbler l'UI avant que l'endpoint soit réel. Convertis le schéma en JSON, balance-le dans une fixture, et construis les composants contre la fixture. Bascule en données live quand l'API est prête.
Exploration de schéma
Lire un SDL de 300 lignes, ça va ; voir à quoi ressemble une vraie réponse, c'est plus rapide. L'échantillon JSON rend le schéma concret — tu vois immédiatement quels champs sont imbriqués, lesquels sont des tableaux, et où vivent les enums. Pratique pour l'onboarding des ingés qui découvrent un service.
Questions fréquentes
Est-ce que ça exécute la requête contre un vrai serveur ?
Non. La page génère seulement un document d'exemple conforme à la forme du schéma. Aucun appel réseau. Si tu dois taper sur un vrai endpoint GraphQL, utilise GraphiQL ou n'importe quel client GraphQL.
Pourquoi mon type auto-référent s'arrête après quelques niveaux ?
Il y a un plafond de récursion à la profondeur 4. Un schéma comme type Person { friends: [Person!]! } produirait sinon un objet imbriqué à l'infini. Au-delà du plafond la valeur devient null pour que le JSON reste fini et joliment imprimable.
Quel type racine est utilisé ?
Il cherche type Query en premier. S'il manque, il prend le premier type objet défini dans le schéma (en sautant les types input). Tu peux remonter n'importe quel type en réordonnant ton SDL.
Les scalaires personnalisés sont-ils gérés ?
Oui. Les classiques (DateTime, Date, Time, URL, Email, JSON, BigInt) ont des valeurs par défaut cohérentes intégrées. Tout le reste retombe sur une chaîne placeholder générique. Si ton scalaire doit mapper sur quelque chose de spécifique, édite la sortie à la main — c'est juste du JSON.
Le JSON est-il valide vis-à-vis de mon schéma ?
Il est valide en forme : chaque champ requis est rempli, les types collent à leur scalaire/objet/liste déclaré, les enums utilisent une vraie valeur d'enum. Il n'est pas sémantiquement valide (l'email n'est pas un vrai email, l'ID de commande n'est pas un vrai ID). Sers-t'en comme point de départ de fixture, pas comme substitut de test.
Mon schéma est-il envoyé à un serveur ?
Non. La conversion tourne entièrement dans ton navigateur. Rien n'est uploadé, rien n'est loggé. Tu peux coller des schémas internes ou non publiés en toute sécurité.
Autres outils GraphQL et JSON
Générer un échantillon n'est qu'une partie du flux GraphQL. Ces outils couvrent le reste :