Preskoči na sadržaj
100% lokalno

JSON u GraphQL SDL

Pretvorite JSON dokument u GraphQL tipove napisane u Jeziku definicije sheme.

Unos
Rezultat

JSON u GraphQL SDL

Zalijepite JSON objekt ili niz objekata i ovaj alat kreira GraphQL tipove napisane u Jeziku definicije sheme. To je brz način da započnete sa shemom iz stvarnog API odgovora, izvoza baze podataka ili primjera korisnog tereta, umjesto ručnog pisanja svakog polja i tipa.

Skalari se zaključuju iz JSON vrijednosti: stringovi postaju String, cijeli brojevi postaju Int, decimalni brojevi postaju Float, a true/false postaju Boolean. Polje nazvano "id" tipira se kao ID kada sadrži string ili cijeli broj, što je u skladu s načinom na koji većina GraphQL API-ja identificira zapise. Polja čija je vrijednost uzorka null označena su kao opcionalna; sva ostala polja dobivaju oznaku obaveznosti ("!"). Ugniježđeni objekti postaju vlastiti nazvani tipovi, referencirani iz nadređenog elementa, a strukturalno identični ugniježđeni objekti spajaju se u jedan tip umjesto da se duplikuju. Nizovi postaju tipovi popisa s tipom elementa zaključenim iz njihovog sadržaja.

Dve više opcije oblikuju izlaz: uključivanje opcije prilagođenih skalara prepoznaje ISO datume i stringove datuma-vremena i kreira "scalar Date" ili "scalar DateTime" umjesto da ih tretira kao obične stringove, a izbor "Generiraj kao" prebacuje između "type" (za upite) i "input" (za argumente mutacije). Omogućavanje "Uključi Query tip" dodaje mali Query tip s jednim poljem koje vraća glavni tip, tako da je shema spremna za lijepljenje u server ili alat zasnovan na shemi bez dodatnih promjena.

Sve se izvršava lokalno u vašoj pregledniku — JSON koji zalijepite nikada se ne učitava nigdje. Kopirajte generirani SDL, preuzmite ga kao .txt datoteku ili ga direktno pošaljite u unos drugog alata kako biste nastavili s radom.

FAQ

Kako odlučuje je li polje obavezno?
Polje je označeno s "!" (obavezno) osim ako je vrijednost uzorka u JSON-u null, u kojem slučaju ostaje opciono.
Kako se rukovode ugniježđeni objekti i nizovi?
Svaki ugniježđeni objekt postaje vlastiti nazvani GraphQL tip koji se referencira iz nadređenog elementa. Identični ugniježđeni oblici se ponovno koriste kao jedan tip. Nizovi postaju tipovi popisa s tipom elementa preuzeti iz sadržaja niza.
Što radi opcija "Detektiraj ID iz 'id' polja"?
Kada je omogućeno, bilo koje polje doslovno nazvano "id" koje sadrži string ili cijeli broj tipira se kao ugrađena ID skala GraphQL-a umjesto String ili Int.
Mogu li generirati GraphQL ulazne tipove umjesto tipova objekata?
Da. Prebacite "Generiraj kao" na "input" da dobijete input Name { … } blokove, korisne za argumente mutacije. Query ovojnica se dodaje samo za "type" izlaz, jer Query polje ne može vratiti ulazni tip.
Je li moj JSON učitan negdje?
Ne. Pretvaranje se izvršava u cijelosti u vašoj pregledniku — vaš JSON nikada ne napušta vašu napravu.