jsonecho

JSON ke Haskell

Tempel contoh JSON untuk membuat tipe Haskell yang sesuai.

Memuat alat...

Cara menggunakan JSON ke Haskell

  1. Tempel contoh JSON yang mewakili data Anda, sebaiknya dengan semua kolom opsional sudah terisi.
  2. Tentukan nama tipe utama, lalu pilih apakah Anda ingin menyertakan kode bantu atau hanya membuat tipe.
  3. Salin kode Haskell yang dihasilkan ke proyek Anda.

Tentang JSON ke Haskell

Menulis kelas model secara manual untuk data JSON yang besar itu melelahkan dan rawan salah ketik. Tempel contohnya di sini, lalu generator akan mengenali strukturnya: kolom yang tersedia, mana yang berupa objek atau array, dan tipe data setiap nilainya. Hasilnya berupa tipe record dengan instance ToJSON dan FromJSON dari Aeson.

Kolom record diberi awalan berdasarkan nama tipe, karena Haskell tidak mengizinkan dua record dalam satu modul memiliki nama kolom yang sama. Semuanya berjalan di browser, jadi data contoh Anda tetap berada di perangkat Anda.

Menggunakan kode yang dihasilkan

Penggunaan decode dari Data.Aeson, misalnya decode text :: Maybe Root.

Kolom opsional menggunakan tipe Maybe.

Pertanyaan yang sering diajukan

Apa dependensi kode Haskell yang dihasilkan?

Hasilnya berupa tipe record dengan instance ToJSON dan FromJSON dari Aeson.

Bagaimana saya menganalisis JSON dengan hasil?

Penggunaan decode dari Data.Aeson, misalnya decode text :: Maybe Root.

Bagaimana kolom opsional dan kolom yang tidak ada ditangani?

Kolom opsional menggunakan tipe Maybe.

Apakah generator memeriksa lebih dari satu entri?

Generator hanya mengenali data yang ada dalam contoh Anda. Kolom yang tidak ada dalam contoh tidak akan muncul pada tipe yang dibuat. Jika suatu nilai dalam contoh adalah null, tipe datanya tidak dapat ditentukan. Tempel contoh dengan kolom yang terisi selengkap mungkin, atau gunakan array berisi beberapa entri yang berbeda.

Apakah JSON saya dikirim ke server?

Tidak. Saat pertama kali digunakan, generator berukuran sekitar 1 MB diunduh ke browser Anda. Seluruh proses selanjutnya berjalan secara lokal.

Alat lainnya di Data ke Kelas

Semua alat →