Preskočiť na obsah
100% lokálne

JSON na GraphQL SDL

Konvertovať JSON dokument na GraphQL typy zapísané v Schema Definition Language.

Vstup
Výstup

JSON na GraphQL SDL

Vložte JSON objekt alebo zoznam objektov a tento nástroj z neho odvodí typy GraphQL zapísané v Schema Definition Language. Je to rýchly spôsob, ako inicializovať schému zo skutočnej odpovede API, exportu databázy alebo vzorky payloadu, namiesto ručného písania každého poľa a typu.

Skaláry sa odvodujú z hodnôt JSON: reťazce sa stanú String, celé čísla sa stanú Int, desatinné čísla sa stanú Float a true/false sa stanú Boolean. Pole pomenované "id" sa typizuje ako ID, keď obsahuje reťazec alebo celé číslo, čo zodpovedá tomu, ako väčšina GraphQL API identifikuje záznamy. Polia, ktorých vzorka hodnota je null, sú označené ako voliteľné; každé ostatné pole dostane povinný marker ("!"). Vnorené objekty sa stanú vlastnými pomenovanými typmi, odkazovanými z nadriadeného prvku, a štrukturálne totožné vnorené objekty sa zlúčia do jedného typu namiesto duplikácie. Zoznamy sa stanú typmi zoznamov s odvodením typu prvku z obsahu.

Dalšie dve možnosti formujú výstup: zapnutie možnosti vlastného skalára rozpozná ISO dátumové a dátumovo-časové reťazce a deklaruje "scalar Date" alebo "scalar DateTime" namiesto toho, aby ich považoval za jednoduchý String, a voľba "Vygenerovať ako" prepína medzi "type" (pre dotazy) a "input" (pre argumenty mutácií). Zapnutie možnosti "Zahrnúť typ Query" pridá malý typ Query s jedným poľom vracajúcim koreňový typ, takže schéma je pripravená vložiť na server alebo nástroj zalomený schémou.

Všetko sa spúšťa lokálne vo vašom prehliadači — JSON, ktorý vložíte, sa nikdy nikam neposielá. Skopírujte vygenerované SDL, stiahnite si ho ako súbor .txt alebo ho pošlite priamo do vstupu iného nástroja, aby ste pokračovali v práci.

Časté otázky

Ako sa rozhoduje, či je pole povinné?
Pole je označené znakom "!" (povinné), pokiaľ jeho vzorka hodnota v JSON nie je null, v takom prípade zostane voliteľné.
Ako sa spracúvajú vnorené objekty a zoznamy?
Každý vnorený objekt sa stane vlastným pomenovaným typom GraphQL, odkazovaným z nadriadeného prvku. Identické vnorené tvary sa opätovne používajú ako jeden typ. Zoznamy sa stanú typmi zoznamov, pričom typ prvku sa vzoruje z obsahu zoznamu.
Čo robí možnosť "Zistiť ID z poľa 'id'"?
Keď je zapnutá, akékoľvek pole doslova pomenované "id", ktoré obsahuje reťazec alebo celé číslo, sa typizuje ako vstavané ID skalár GraphQL namiesto String alebo Int.
Môžem vygenerovať typy vstupu GraphQL namiesto typov objektov?
Áno. Prepnite "Vygenerovať ako" na "input" a získate bloky input Name { … }, užitočné pre argumenty mutácií. Wrapper Query sa pridáva iba pre výstup "type", pretože pole Query nemôže vracať typ input.
Posielam niekde svoj JSON?
Nie. Konverzia prebieha úplne vo vašom prehliadači — váš JSON nikdy neopúšťa vaše zariadenie.