GraphQL zu JSON Beispiel
GraphQL-Schema einfügen, JSON-Dokument bekommen, das dem Query-Typ entspricht — jedes Feld gefüllt, Listen befüllt, Enums gewählt
Eingabe
Ausgabe
Was ist das Tool GraphQL zu JSON Beispiel?
Eine GraphQL-API in der Test-Suite zu mocken bedeutet meistens, für jeden Typ Fake-Daten von Hand zu schreiben — langweilig, fragil, und das Schema driftet innerhalb von ein, zwei Sprints von den Fixtures weg. Diese Seite liest deine GraphQL Schema Definition Language und gibt ein dazu passendes JSON-Dokument aus. Füge dein SDL links ein, und die rechte Seite liefert dir ein gefülltes JSON-Objekt: jedes Feld des Query-Typs gefüllt, Listen mit zwei Elementen befüllt, Enums auf ihren ersten Wert gesetzt und Custom Scalars wie DateTime oder URL auf sinnvolle Defaults gemappt.
Auf der Seite ist keine Parser-Abhängigkeit geladen — der SDL-Walker ist handgeschrieben, ~600 Zeilen, und deckt alle Konstrukte ab, die in einem echten Schema auftauchen: type, interface, union, enum, input, scalar, Listen- und Non-Null-Modifikatoren und selbstreferenzielle Typen. Die Ausgabe ist reines JSON nach RFC 8259, mit zwei Leerzeichen eingerückt, bereit zum Einfügen in einen Fetch-Mock oder eine Postman-Beispielantwort. Felder mit den Namen email, name, phone, currency oder status bekommen passende Wertbeispiele; alles andere fällt auf ein generisches "sample text" zurück.
Alles passiert in deinem Browser. Dein Schema verlässt die Seite nie, es wird kein Netzwerkaufruf gemacht und die Konvertierung ist sofort.
So benutzt du das Tool GraphQL zu JSON Beispiel
Drei schnelle Schritte. Die unten beschriebenen Buttons sind die echten Buttons auf dieser Seite.
Einfügen, hochladen oder Beispiel laden
Füge ein GraphQL-Schema in das linke Eingabe-Panel ein — die Konvertierung läuft automatisch etwa eine drittel Sekunde nach dem letzten Tastendruck, daher kein Konvertieren-Button. Klicke Hochladen für eine .graphql- oder .gql-Datei oder Beispiel, um ein realistisches E-Commerce-Order-Schema zu laden. Eine typische Eingabe sieht so aus:
type Query { order(id: ID!): Order } type Order { id: ID! customer: Customer! items: [OrderItem!]! total: Money! status: OrderStatus! placedAt: DateTime! }Sowohl Schemas im Server-Stil (mit type Query { ... }) als auch eigenständige Typdateien funktionieren. Der Walker nimmt Query als Wurzel, falls vorhanden, sonst den ersten Objekttyp. Die akzeptierten Formen entsprechen dem, was Tools wie graphql-js beim Start parsen.
JSON-Ausgabe lesen
Das rechte Ausgabe-Panel rendert das JSON-Beispiel mit zwei Leerzeichen Einrückung. Objekttypen werden zu Objekten. Listen werden zu Zwei-Element-Arrays. Enums werden zu ihrem ersten Wert als String. Custom Scalars bekommen sinnvolle Defaults — DateTime wird zu einem ISO-8601-Timestamp, URL wird zu "https://example.com/...", JSON wird zu {}. Selbstreferenzielle Typen (type Person { friends: [Person!]! }) werden bei Tiefe 4 gekappt und mit null abgeschnitten, damit die Seite nie hängt.
Kopieren oder herunterladen
Klicke Kopieren, um das JSON für eine Fixture-Datei, einen Mock-Server oder einen Fetch-Stub zu greifen. Klicke Herunterladen, um es als sample.json zu speichern. Der Clear-Button im Eingabe-Panel setzt dich auf einen leeren Zustand zurück. Die Konvertierung passiert komplett clientseitig — dein Schema verlässt die Seite nie.
Wann du das wirklich nutzen würdest
Mock-GraphQL-Server-Fixtures
Du fährst ein Mock-Backend mit json-graphql-server oder einem Apollo-Server-Mock hoch und brauchst eine Start-JSON-Datei in der Form deines Schemas. Füge das SDL ein, kopiere die Ausgabe, und du bist zu 80% durch — Namen und IDs anpassen, Fixture rausschicken.
Postman / Insomnia Beispielantworten
Einen GraphQL-Endpoint in Postman oder Insomnia zu dokumentieren bedeutet, für jede Operation einen Beispiel-Antwortbody auszufüllen. Generiere die JSON-Form aus dem Typ, füge sie ins Beispiel ein, passe die Werte an den Testfall an. Schlägt das Schreiben verschachtelter Objekte von Hand in jedem Fall.
Frontend-Typ-Entwurf
Wenn das Backend einen neuen GraphQL-Typ ausliefert, braucht das Frontend oft ein Beispiel-Payload, um die UI zu verdrahten, bevor der Endpoint echt ist. Wandele das Schema in JSON um, lege es in eine Fixture und baue die Komponenten gegen die Fixture. Wechsele auf Live-Daten, sobald die API steht.
Schema-Erkundung
Ein 300-Zeilen-SDL zu lesen ist ok; zu sehen, wie eine echte Antwort aussieht, ist schneller. Das JSON-Beispiel macht das Schema konkret — du siehst sofort, welche Felder verschachtelt sind, welche Arrays sind und wo die Enums leben. Nützliche Onboarding-Hilfe für Engineers, die neu in einem Service sind.
Häufige Fragen
Führt es die Query gegen einen echten Server aus?
Nein. Die Seite generiert nur ein Beispieldokument, das der Schema-Form entspricht. Es gibt keinen Netzwerkaufruf. Wenn du einen echten GraphQL-Endpoint ansprechen musst, nimm GraphiQL oder einen beliebigen GraphQL-Client.
Warum hört mein selbstreferenzieller Typ nach ein paar Ebenen auf?
Es gibt eine Rekursionsgrenze bei Tiefe 4. Ein Schema wie type Person { friends: [Person!]! } würde sonst ein unendlich verschachteltes Objekt erzeugen. Hinter der Grenze wird der Wert null, damit das JSON endlich und gut druckbar bleibt.
Welcher Wurzeltyp wird verwendet?
Es wird zuerst nach type Query gesucht. Fehlt der, wird der erste im Schema definierte Objekttyp gewählt (input-Typen werden übersprungen). Du kannst jeden Typ nach oben holen, indem du dein SDL umordnest.
Werden Custom Scalars behandelt?
Ja. Gängige (DateTime, Date, Time, URL, Email, JSON, BigInt) haben sinnvolle Defaults eingebaut. Alles andere fällt auf einen generischen Platzhalter-String zurück. Wenn dein Scalar auf etwas Bestimmtes mappen soll, bearbeite die Ausgabe von Hand — es ist nur JSON.
Ist das JSON gegen mein Schema gültig?
Es ist formgültig: jedes Pflichtfeld ist gefüllt, die Typen passen zu ihrem deklarierten Scalar/Objekt/Liste, Enums verwenden einen echten Enum-Wert. Es ist nicht semantisch gültig (die E-Mail ist keine echte E-Mail, die Order-ID ist keine echte ID). Nutze es als Fixture-Startpunkt, nicht als Test-Ersatz.
Wird mein Schema an einen Server gesendet?
Nein. Die Konvertierung läuft komplett im Browser. Nichts wird hochgeladen, nichts wird geloggt. Du kannst interne oder unveröffentlichte Schemas bedenkenlos einfügen.
Andere GraphQL- und JSON-Tools
Ein Beispiel zu generieren ist nur ein Teil des GraphQL-Workflows. Diese Tools decken den Rest ab: