CSV dan JSON: dua cara membawa data yang sama
Sebagian besar data tabular pada akhirnya hidup dalam salah satu dari dua format. CSV adalah bahasa asli spreadsheet: file teks biasa di mana setiap baris adalah satu baris data dan koma memisahkan kolom. JSON adalah bahasa API dan aplikasi: format teks terstruktur yang dibangun dari objek (pasangan kunci dan nilai) dan array (daftar terurut). Keduanya menggambarkan informasi yang sama dalam bentuk yang sangat berbeda, itulah tepatnya mengapa konversi di antara keduanya begitu sering diperlukan. Halaman ini melakukan konversi tersebut ke kedua arah, sepenuhnya di dalam browser Anda.
CSV bersinar di mana pun kisi terasa alami. Ekspor laporan dari database, unduh daftar pesanan, atau simpan lembar dari Excel atau Google Sheets, dan Anda hampir selalu mendapatkan CSV. Format ini kompak, dapat dibaca manusia, dan setiap alat analitik di dunia dapat membukanya. JSON bersinar di mana pun perangkat lunak berbicara dengan perangkat lunak. REST API mengirim dan menerimanya, file konfigurasi menggunakannya, dan JavaScript membacanya tanpa pustaka parsing apa pun. Saat Anda perlu memasukkan ekspor spreadsheet ke API atau menarik respons API ke spreadsheet, Anda benar-benar menerjemahkan antara dua dunia ini.

Bagaimana baris dan header menjadi objek
Pemetaannya lebih sederhana dari yang terlihat. Baris pertama file CSV biasanya adalah baris header, dan nama-nama header tersebut menjadi kunci dalam JSON. Setiap baris berikutnya menjadi satu objek, di mana setiap sel dipasangkan dengan header yang sesuai. Seluruh file menjadi array dari objek-objek tersebut. Jadi CSV dengan kolom name,email,age berubah menjadi daftar seperti [{"name": "Ada", "email": "ada@example.com", "age": "36"}, ...]. Sebaliknya, JSON ke CSV membaca kunci objek pertama untuk membangun baris header, lalu menulis satu baris per objek. Ini adalah perjalanan pulang-pergi yang bersih dan dapat diprediksi selama data Anda benar-benar tabular.
Jebakan yang perlu diketahui
CSV terlihat sepele tetapi menyembunyikan beberapa tepi tajam. Yang terbesar adalah koma di dalam bidang. Jika alamat mengandung "Berlin, Germany", pemisahan naif pada koma akan merobek nilai tunggal tersebut menjadi dua kolom. Standar CSV menangani ini dengan membungkus bidang tersebut dalam tanda kutip ganda, dan tanda kutip di dalam bidang yang dikutip digandakan (""). Konverter yang baik menghormati aturan tersebut sehingga data Anda tidak diam-diam bergeser kolom. Perhatikan juga delimiter: banyak ekspor Eropa menggunakan titik koma alih-alih koma, karena koma sudah menjadi pemisah desimal di sana. Tab dan pipa juga muncul.
Perbedaan yang lebih dalam adalah tipe. CSV tidak memiliki konsep tipe data sama sekali. Segalanya adalah teks, sehingga angka 42, boolean true, dan sel kosong semuanya terlihat seperti string biasa. JSON, sebaliknya, membedakan angka, string, boolean, null, dan struktur bersarang. Saat Anda mengkonversi CSV ke JSON, nilai tiba sebagai string kecuali alat ini diperintahkan untuk menginterpretasikan angka dan boolean. Mengkonversi JSON ke CSV memiliki masalah sebaliknya: objek dan array bersarang tidak cocok rapi ke dalam kisi datar, sehingga biasanya diratakan atau diubah menjadi string di satu sel. Mengetahui ini di awal menghindarkan Anda dari bingung mengapa kolom "terlihat salah" nanti.

Perjalanan pulang-pergi yang nyata
Berikut adalah skenario yang sering terjadi. Seorang rekan mengirimkan spreadsheet pengguna baru dan meminta Anda memuatnya melalui API internal. API hanya menerima JSON. Anda mengekspor lembar ke CSV, menempelkannya di sini, dan mendapatkan kembali array objek yang bersih siap dimasukkan ke payload permintaan Anda. Kemudian, API mengembalikan daftar JSON rekaman yang dibuatnya, dan Anda perlu menyerahkannya kembali ke rekan yang sama untuk ditinjau. Anda menempel JSON, mengkonversinya ke CSV, dan langsung terbuka di spreadsheet mereka. Tidak ada skrip, tidak ada instalasi, hanya dua terjemahan cepat di tengah alur kerja normal.
Hanya lokal, berdasarkan desain
Semua ini berjalan di browser Anda. CSV dan JSON Anda diurai dan dikonversi oleh JavaScript di mesin Anda sendiri, dan tidak ada yang diunggah ke server. Itu penting karena ekspor sering mengandung nama nyata, email, detail pesanan, atau pengidentifikasi internal yang tidak seharusnya Anda tempel ke layanan jarak jauh sembarangan. Di sini data tidak pernah meninggalkan halaman. Jika Anda ingin merapikan hasilnya setelahnya, pemformat JSON kami akan mencetak dan memvalidasinya dengan indah, dan Anda dapat menelusuri konverter data kami untuk format terkait.
Pertanyaan yang sering diajukan
Apakah data saya diunggah ke suatu tempat?
Tidak. Konversi berjalan sepenuhnya di browser Anda menggunakan JavaScript, sehingga CSV dan JSON Anda tetap di perangkat Anda sendiri dan tidak pernah dikirim ke server.
Apakah konverter menangani koma di dalam bidang?
Ya. Bidang yang mengandung koma harus dibungkus dalam tanda kutip ganda di CSV, dan parser menghormati kutipan tersebut sehingga nilai tetap dalam satu kolom.
Mengapa angka saya muncul sebagai teks di JSON?
CSV tidak memiliki tipe data, sehingga setiap sel adalah teks biasa. Nilai menjadi string JSON kecuali parsing angka dan boolean diterapkan, karena file sumber tidak memberikan cara untuk membedakan angka dari kata.
Apa yang terjadi pada JSON bersarang saat saya mengkonversi ke CSV?
Kisi datar tidak dapat menampung struktur bersarang, sehingga objek dan array bersarang biasanya diratakan atau ditulis sebagai satu nilai string di dalam satu sel.
Bisakah saya menggunakan titik koma atau tab alih-alih koma?
Ya. Banyak ekspor, terutama dari Eropa, menggunakan titik koma atau tab sebagai delimiter, dan alat ini dapat membaca keduanya alih-alih koma standar.
Apakah konversinya berjalan dua arah?
Ya. Anda dapat mengubah CSV menjadi JSON dan JSON kembali menjadi CSV, yang membuat perjalanan bolak-balik antara spreadsheet dan API menjadi mudah.
