Vai al contenuto
100% locale

JSON in GraphQL SDL

Converti un documento JSON in tipi GraphQL scritti in Schema Definition Language.

Ingresso
Uscita

JSON in GraphQL SDL

Incolla un oggetto JSON o un array di oggetti e questo strumento ricaverà i tipi GraphQL scritti in Schema Definition Language. È un modo veloce per avviare uno schema a partire da una vera risposta API, un'esportazione di database o un payload di esempio, invece di digitare manualmente ogni campo e tipo.

I scalari vengono dedotti dai valori JSON: le stringhe diventano String, i numeri interi diventano Int, i decimali diventano Float, e vero/falso diventano Boolean. Un campo denominato "id" è tipizzato come ID quando contiene una stringa o un numero intero, corrispondente al modo in cui la maggior parte delle API GraphQL identificano i record. I campi il cui valore di esempio è null sono contrassegnati come facoltativi; tutti gli altri campi ottengono il marcatore richiesto ("!"). Gli oggetti annidati diventano i loro propri tipi denominati, referenziati dal genitore, e gli oggetti annidati strutturalmente identici vengono uniti in un unico tipo invece di essere duplicati. Gli array diventano tipi di elenco con il tipo di elemento dedotto dai loro contenuti.

Due altre opzioni modellano l'output: attivare l'opzione scalare personalizzato riconosce le stringhe di data e ora ISO e dichiara "scalar Date" o "scalar DateTime" invece di trattarle come semplice String, e la scelta "Genera come" passa da "type" (per query) a "input" (per gli argomenti delle mutazioni). Abilitare "Includi tipo Query" aggiunge un piccolo tipo Query con un campo che restituisce il tipo radice, in modo che lo schema sia pronto per incollarlo in un server o uno strumento schema-first così com'è.

Tutto viene eseguito localmente nel tuo browser — il JSON che incolli non viene mai caricato da nessuna parte. Copia l'SDL generato, scaricalo come file .txt, o invialo direttamente nell'input di un altro strumento per continuare a lavorarci sopra.

FAQ

Come decide se un campo è obbligatorio?
Un campo è contrassegnato con "!" (obbligatorio) a meno che il suo valore di esempio nel JSON sia null, nel qual caso viene lasciato facoltativo.
Come vengono gestiti gli oggetti annidati e gli elenchi?
Ogni oggetto annidato diventa il suo proprio tipo GraphQL denominato referenziato dal genitore. Le forme annidatte strutturalmente identiche vengono riutilizzate come un unico tipo. Gli array diventano tipi di elenco, con il tipo di elemento preso dal contenuto dell'array.
Cosa fa "Rileva ID dal campo 'id'"?
Se abilitato, qualsiasi campo letteralmente denominato "id" che contiene una stringa o un numero intero è tipizzato come lo scalare ID integrato di GraphQL invece di String o Int.
Posso generare tipi di input GraphQL invece di tipi di oggetto?
Sì. Passa "Genera come" a "input" per ottenere i blocchi input Name { … }, utili per gli argomenti delle mutazioni. Il wrapper Query viene aggiunto solo per l'output "type", poiché un campo Query non può restituire un tipo input.
Il mio JSON viene caricato da qualche parte?
No. La conversione viene eseguita interamente nel tuo browser — il tuo JSON non esce mai dal tuo dispositivo.