JSON ke Tipe: TypeScript, Swift, Kotlin, dan Lainnya

Tempel contoh JSON dan dapatkan definisi tipe dalam 8 bahasa, dengan mesin quicktype.

Berjalan sepenuhnya di browser. Data yang Anda masukkan tidak dikirim atau disimpan.

Cara menggunakan

  1. Tempel contoh JSON, misalnya respons API, ke kotak kiri.
  2. Pilih bahasa tujuan dan, jika perlu, nama tipe teratas.
  3. Klik Ubah. Setiap objek bersarang menjadi tipe tersendiri.
  4. Salin kode atau unduh sebagai file sumber.

Menulis tipe model secara manual untuk setiap respons API itu lambat dan rawan salah. Konverter JSON ke tipe ini membaca contoh dan membuat kode yang sesuai: interface TypeScript, struct Swift yang memenuhi Codable, data class Kotlin, class Dart, struct Go dengan tag json, dataclass Python, serta class C# dan Java. Setiap objek bersarang menjadi tipe bernama, array menjadi list bertipe, dan nama kunci disesuaikan dengan gaya penamaan bahasa tujuan, sementara kunci JSON asli tetap disimpan di tempat yang membutuhkannya.

Konversi dilakukan oleh quicktype-core, mesin open source dari quicktype (Apache License 2.0), yang dimuat ke halaman ini saat Anda pertama kali mengklik Ubah. Dengan Hanya tipe dicentang, Anda mendapat deklarasi tipe saja. Untuk Swift, Codable dan CodingKeys tetap ada dan hanya initializer kemudahan yang dihapus. Hilangkan centang untuk juga mendapatkan kode bantu parsing yang biasa ditulis quicktype, seperti class Convert di TypeScript, anotasi Jackson di Kotlin, atau fungsi from_dict di Python.

Tipe disimpulkan dari contoh, jadi gunakan data yang memuat semua field. Nilai null menghasilkan tipe opsional atau any, angka tanpa desimal menjadi bilangan bulat, dan objek berbentuk sama di beberapa tempat bisa digabung menjadi satu tipe. JSON Anda tidak keluar dari browser: parsing dan pembuatan kode berlangsung di perangkat Anda, tidak ada yang diunggah atau disimpan.

Pertanyaan umum

Apakah JSON saya dikirim ke server?

Tidak. quicktype-core berjalan di browser Anda. JSON yang ditempel tidak diunggah atau disimpan.

Mengapa field menjadi any atau opsional?

Di contoh, nilainya null atau tidak ada di sebagian objek. Gunakan contoh dengan nilai nyata untuk mendapatkan tipe yang jelas.

Apakah keluaran Swift memakai Codable?

Ya. Struct Swift memenuhi Codable dan menyertakan CodingKeys yang terhubung ke kunci JSON asli.

Bisakah mendapat data class Kotlin tanpa library?

Bisa. Biarkan Hanya tipe dicentang untuk data class polos. Hilangkan centang untuk menambah anotasi Jackson dan kode bantu.

Alat terkait