Zum Inhalt springen
100% lokal

JSON zu GraphQL SDL

Konvertieren Sie ein JSON-Dokument in GraphQL-Typen in Schema Definition Language.

Eingabe
Ausgabe

JSON zu GraphQL SDL

Fügen Sie ein JSON-Objekt oder ein Array von Objekten ein und dieses Tool leitet GraphQL-Typen in Schema Definition Language ab. Es ist eine schnelle Möglichkeit, ein Schema aus einer echten API-Antwort, einem Datenbankexport oder einer Beispiel-Nutzlast zu erstellen, anstatt jedes Feld und jeden Typ von Hand zu tippen.

Skalare werden aus den JSON-Werten abgeleitet: Zeichenfolgen werden zu String, ganze Zahlen zu Int, Dezimalzahlen zu Float und true/false zu Boolean. Ein Feld namens "id" wird als ID typisiert, wenn es eine Zeichenfolge oder eine Ganzzahl enthält, was dem Verhalten der meisten GraphQL-APIs entspricht. Felder, deren Beispielwert null ist, werden als optional markiert. Alle anderen Felder erhalten den erforderlichen Marker ("!"). Verschachtelte Objekte werden zu eigenen benannten Typen und werden von übergeordneten Elementen referenziert. Strukturell identische verschachtelte Objekte werden zu einem einzelnen Typ zusammengeführt, anstatt dupliziert zu werden. Arrays werden zu Listentypen mit einem aus dem Inhalt abgeleiteten Elementtyp.

Zwei weitere Optionen gestalten die Ausgabe: Mit der Option "Eigener Skalar für Datumsangaben" werden ISO-Datums- und Datums-Zeit-Zeichenfolgen erkannt und "scalar Date" oder "scalar DateTime" deklariert, anstatt sie als einfache String zu behandeln. Die Wahl "Generieren als" wechselt zwischen einem "type" (für Abfragen) und einem "input" (für Mutationsargumente). Wenn Sie "Query-Typ einschließen" aktivieren, wird ein kleiner Query-Typ mit einem Feld hinzugefügt, das den Root-Typ zurückgibt, sodass das Schema sofort in einen Server oder ein schemafirst-Tool eingefügt werden kann.

Alles läuft lokal in Ihrem Browser — das JSON, das Sie einfügen, wird nirgendwo hochgeladen. Kopieren Sie die generierte SDL, laden Sie sie als .txt-Datei herunter oder senden Sie sie direkt in die Eingabe eines anderen Tools, um weiterarbeiten zu können.

Häufige Fragen

Wie entscheidet es, ob ein Feld erforderlich ist?
Ein Feld wird mit "!" (erforderlich) markiert, es sei denn, sein Beispielwert im JSON ist null, dann ist es optional.
Wie werden verschachtelte Objekte und Listen behandelt?
Jedes verschachtelte Objekt wird zu seinem eigenen benannten GraphQL-Typ und wird vom übergeordneten Element referenziert. Identische verschachtelte Formen werden als ein Typ wiederverwendet. Arrays werden zu Listentypen, wobei der Elementtyp aus dem Inhalt des Arrays ermittelt wird.
Was bedeutet "ID aus dem Feld 'id' erkennen"?
Wenn diese Option aktiviert ist, wird jedes Feld mit dem Namen "id", das eine Zeichenfolge oder eine ganze Zahl enthält, als GraphQL-Standardskalar ID typisiert, anstatt als String oder Int.
Kann ich GraphQL-Eingabetypen anstelle von Objekttypen generieren?
Ja. Schalten Sie "Generieren als" auf "input" um, um "input Name { ... }"-Blöcke zu erhalten, die für Mutationsargumente nützlich sind. Der Query-Wrapper wird nur bei "type"-Ausgabe hinzugefügt, da ein Query-Feld keinen Input-Typ zurückgeben kann.
Wird mein JSON irgendwo hochgeladen?
Nein. Die Konvertierung läuft vollständig in Ihrem Browser — Ihr JSON verlässt Ihr Gerät nicht.