Lewati ke konten

JSON ke TypeScript

JSON ke TypeScript mengonversi sampel JSON menjadi interface TypeScript dan type alias secara lokal, dengan field opsional, inferensi union/null/Date, penamaan root, serta salin/unduh .ts.

JSON

Karakter

0 / 50,000

TypeScript

JSON ke TypeScript

Mulai cepat

1
Tempel sampel JSON valid ke editor kiri.
2
Atur nama tipe root seperti ApiResponse jika perlu.
3
Tinjau TypeScript di kanan: objek menjadi interface; array atau nilai primitif menjadi type alias.
4
Salin atau unduh .ts yang dibuat; panel input juga menangani sampel JSON.

Skenario umum

Ubah respons API nyata menjadi model TypeScript awal untuk halaman frontend, klien SDK, atau pengujian integrasi Setelah itu hasilnya bisa langsung disalin, diunduh, atau diekspor.

Periksa array objek campuran untuk melihat properti opsional dan union type sebelum Anda menetapkan kontrak API Setelah itu hasilnya bisa langsung disalin, diunduh, atau diekspor.

Ubah data JSON mock menjadi definisi tipe cepat untuk fixture, cerita Storybook, atau prototipe.

Tinjau deklarasi bersarang seperti User atau Meta saat bentuk payload backend berubah Setelah itu hasilnya bisa langsung disalin, diunduh, atau diekspor.

Saran penggunaan

Gunakan sampel JSON yang representatif. Ini adalah inferensi berbasis sampel, sehingga kolom atau nilai yang hilang tidak dapat muncul di output.
Array kosong menjadi unknown[], dan objek kosong menjadi interface yang mewarisi Record<string, unknown> sampai Anda memberi data contoh yang lebih kaya.
Nama deklarasi bersarang dinormalisasi dari nama properti, sehingga output baru lebih sering memakai nama seperti User atau Meta dibanding bentuk lama dengan prefiks root.
Generasi hanya berjalan untuk JSON yang valid. Perbaiki dulu kesalahan sintaks; editor akan menampilkan baris dan kolom saat parsing gagal.
Nama root khusus yang valid dipertahankan apa adanya, sedangkan nama yang tidak valid dinormalisasi menjadi identifier PascalCase TypeScript yang sah.

Ketik Batasan Inferensi

Generator menyimpulkan dari sampel saat ini, bukan dari Skema JSON, Open API, GraphQL, file, URL, Garis JSON, atau sampel batch.
Array menggabungkan bentuk item yang diamati: bidang yang hilang dari beberapa item menjadi opsional, dan nilai nol atau campuran menjadi gabungan.
String seperti tanggal dapat disimpulkan sebagai Tanggal, tetapi nilai runtime JSON tetap berupa string kecuali kode Anda menguraikannya.
Akar objek menghasilkan antarmuka; array dan akar primitif menghasilkan alias tipe; array kosong menggunakan unknown[] dan objek kosong memperluas Record<string, unknown>.
Nama root defaultnya adalah Root. Nama khusus yang sah dipertahankan, sementara nama yang tidak valid dan kata-kata yang dicadangkan dinormalisasi menjadiPascalCase.
Outputnya hanya berupa deklarasi TypeScript statis: tidak ada validator runtime, parser, serializer, skema Zod/Yup/io-ts, atau klien API.

Batasan & kompatibilitas

Alat ini menyimpulkan tipe dari data sampel, bukan dari skema formal atau sumber kebenaran kontrak. Bidang yang hilang dari sampel Anda tidak dapat ditebak.
Input harus berupa JSON yang ketat. Komentar, koma di akhir, dan sintaks khusus JavaScript lainnya akan ditolak.
Kode TypeScript yang dihasilkan tidak menyertakan pernyataan ekspor. Mengunduh file .ts terpisah dari menambahkan kata kunci ekspor yang mungkin diperlukan proyek Anda.
Hasilnya hanya kode statis TypeScript saja. Itu tidak membuat validator runtime, parser, serializer, skema Zod, atau klien API.

Privasi & keamanan

JSON ke TypeScript berjalan lokal di browser Anda. Input JSON dapat tetap ada sebagai draf browser. Jika ruang kerja tersimpan atau sinkronisasi WebDAV diaktifkan, input JSON, nama tipe root, preferensi nomor baris input/output, dan preferensi pembungkusan baris dapat disimpan melalui sinkronisasi tersebut. TypeScript yang dibuat, error validasi, sorotan baris/kolom, status salin, dan riwayat urung berasal dari input saat ini dan tidak disimpan sebagai data hasil terpisah. Unduhan JSON input dan unduhan output .ts dibuat hanya saat Anda mengeklik Download. Alat ini tidak mengunggah file atau membuat lampiran.

Pertanyaan umum

6

Lanjutkan langkah berikutnya dengan alat terkait ini.

Seluruh pemrosesan alat terjadi secara lokal di browser Anda.