JSON ke Skema GraphQL (SDL)
Buat tipe objek GraphQL SDL dari JSON: Int vs Float, penanda non-null, tipe list, dan tipe bersarang yang disimpulkan dari contoh Anda. Gratis, di browser.
Field non-null diberi "!". Bilangan bulat di atas 32 bit menjadi Float; nilai campuran atau hanya null memakai scalar kustom JSON.
Berjalan sepenuhnya di browser Anda. Data Anda tidak pernah diunggah.
Alat Terkait
Lihat SemuaApa itu JSON ke GraphQL?
Hasilkan deklarasi type GraphQL schema definition language (SDL) dari contoh JSON. Nilai wajib mendapat penanda non-null !, array menjadi tipe list, dan objek bersarang menjadi tipe objek terpisah.
Cara menggunakan JSON ke GraphQL
- Tempel contoh JSON ke Input JSON (atau klik Muat contoh / Buka file).
- Atur Nama tipe root (bawaan
Root). - Salin kode GraphQL yang dihasilkan atau Unduh sebagai file.
Contoh
{"id":1,"name":"A","tags":["x"]} type Root {
id: Int!
name: String!
tags: [String!]!
} Kapan menggunakan JSON ke GraphQL
Gunakan untuk membuat sketsa skema API GraphQL yang membungkus layanan JSON/REST yang sudah ada. Alat ini hanya menghasilkan tipe keluaran; tipe input, query, mutation, dan resolver tetap harus ditulis.
Cara kerja JSON ke GraphQL
Contoh JSON ditelusuri secara rekursif dan setiap posisi mengumpulkan tipe yang pernah dilihatnya. Array berisi objek digabung menjadi satu tipe: key yang tidak ada di sebagian elemen menjadi opsional, key yang bernilai null di suatu tempat menjadi nullable, bilangan bulat yang bercampur dengan desimal menjadi tipe floating-point, dan campuran tipe lain beralih ke tipe dinamis. Objek bersarang menjadi tipe bernama sendiri (PascalCase dari key, key array disingularkan: orders → Order), dengan akhiran angka jika nama bentrok. Keluaran GraphQL memetakan bilangan bulat ke Int (atau Float bila nilai melebihi 32 bit, karena Int GraphQL 32 bit), desimal ke Float, string ke String, dan boolean ke Boolean. Nilai yang null atau hilang dalam contoh bersifat nullable (tanpa !). Nilai campuran atau yang hanya null memakai skalar JSON kustom, yang dideklarasikan di bagian atas bila diperlukan. Nama field yang bukan nama GraphQL valid diubah menjadi camelCase.
Kasus Penggunaan Umum
- Menyusun tipe objek untuk gateway GraphQL di atas REST API
- Mendokumentasikan bentuk data JSON dalam SDL
- Memulai desain API schema-first dari data contoh
- Membandingkan payload REST dengan skema GraphQL yang ada
Pertanyaan Umum
Mengapa sebuah ID bertipe Int, bukan ID?
Contoh hanya menunjukkan angka. Ubah menjadi ID! jika field itu adalah identifier – alat ini tidak dapat mengetahui semantiknya.
Apa itu skalar JSON?
Skalar kustom untuk nilai yang tipenya bervariasi. Server Anda harus mendefinisikannya, misalnya dengan graphql-scalars.
Mengapa Float untuk bilangan bulat besar?
Int GraphQL dibatasi pada nilai bertanda 32 bit; angka yang lebih besar akan ditolak, sehingga dipetakan ke Float (atau pakai skalar BigInt kustom).