JSON ke TypeScript
JSON ke TypeScript
Ubah contoh JSON menjadi interface dan type alias TypeScript, gabungkan properti dari array objek secara otomatis, simpulkan properti opsional dan union dengan null, serta hasilkan deklarasi tipe yang sesuai untuk array dan objek kosong. Cocok untuk memodelkan respons API, menyiapkan tipe frontend, dan merapikan struktur data.
Mulai cepat
Skenario umum
Ubah respons API nyata menjadi model TypeScript awal untuk halaman frontend, klien SDK, atau pengujian integrasi.
Periksa array objek campuran untuk melihat properti opsional dan union type sebelum Anda menetapkan kontrak API.
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.
Saran penggunaan
Batasan & kompatibilitas
Privasi & keamanan
Pertanyaan umum
Root objek menghasilkan deklarasi interface. Root array dan nilai primitif menghasilkan type alias. Untuk array objek tingkat atas, root tetap berupa type alias seperti type Root = RootItem[];, sedangkan struktur item dideklarasikan terpisah.
Tanpa item atau properti contoh, generator tidak dapat menyimpulkan struktur yang lebih sempit. Karena itu, array kosong tetap menjadi unknown[] dan objek kosong tetap menjadi interface yang mewarisi Record<string, unknown> sampai Anda menempelkan data yang lebih representatif.
Jika nama yang Anda masukkan sudah berupa identifier TypeScript yang valid, nama itu akan dipertahankan apa adanya, misalnya APIResponse. Nama yang tidak valid akan dinormalisasi menjadi identifier PascalCase yang stabil sebelum generasi.
Generator saat ini menormalkan nama bersarang berdasarkan jalur properti dan menyelesaikan bentrokan nama secara deterministik. Karena itu, output baru memakai nama seperti User, Meta, atau FooBarClass alih-alih selalu menambahkan prefiks root.
Kontrak output saat ini sengaja mengembalikan deklarasi polos tanpa export. Ini menjaga hasil tetap netral, dan Anda bisa menambahkan export sendiri sesuai gaya proyek.