Apa itu konversi CSV ke JSON?
CSV (Comma-Separated Values, RFC 4180) adalah format teks tabular yang datar; JSON (JavaScript Object Notation, RFC 8259) adalah format teks berbentuk pohon untuk data terstruktur. Mengonversi CSV ke JSON mengubah tabel yang ramah spreadsheet menjadi larik objek yang ramah API — satu objek per baris, dengan baris header menyediakan kunci — tanpa mengetik ulang satu sel pun.
Bagaimana cara kerja konversi CSV ke JSON?
Setiap konversi dijalankan lokal di peramban Anda. Langkah-langkah tingkat tinggi adalah:
- Anda menempelkan CSV ke panel masukan dan menekan KONVERSI; alat mengurai teks dan memancarkan larik JSON berisi objek di panel keluaran.
- Mesin keadaan karakter demi karakter (FIELD_START → IN_UNQUOTED_FIELD atau IN_QUOTED_FIELD) menyusuri masukan, menghormati pelolosan kutip lolos
"", mengenali penghenti baris\r\ndan\n, serta menghasilkan larik 2-D string sebagai representasi antara. - Jika baris pertama ditandai sebagai header, sel-selnya menjadi kunci objek; jika tidak, alat menghasilkan kunci sintetis
field0,field1, … agar setiap baris tetap memetakan ke objek lengkap. - Pemisah (koma, titik koma, tab, pipa, atau deteksi otomatis) dan paksaan tipe (angka / boolean /
null) dapat dikonfigurasi. Dengan paksaan tipe aktif,30menjadi angka 30 dantruemenjadi boolean; dengan paksaan tipe mati, setiap sel tetap string. - Keluaran ditulis ke textarea hanya-baca sebagai teks berformat
JSON.stringify, dan tautan unduh membangunBlobdengan tipe MIMEapplication/json;charset=utf-8sehingga Anda dapat menyimpan hasilnya dengan satu klik.
Mengapa mengonversi CSV ke JSON dengan alat ini?
- Privasi: setiap proses penguraian dan transformasi terjadi di peramban Anda. Data tidak pernah mencapai server kami.
- Ketepatan: parser CSV adalah mesin keadaan yang sebenarnya. Bidang yang berisi koma berkutip (
"Bob, Jr."), baris baru tersemat, dan kutip lolos diurai ke satu sel, bukan tiga — implementasisplit(',')naif salah di sini. - Ketepatan tipe: paksaan tipe opsional mengubah sel numerik dan boolean menjadi angka dan boolean JSON yang sesungguhnya, sehingga larik yang Anda terima siap dikonsumsi langsung tanpa pembersihan kedua.
- Fleksibilitas: pilih pemisah apa pun untuk dialek CSV non-koma, pilih apakah baris pertama adalah header, dan aktifkan/matikan paksaan tipe untuk kasus di mana setiap sel harus tetap berupa string.
Apa saja aplikasi umum konversi CSV ke JSON?
Penguraian CSV menjadi JSON muncul di berbagai pekerjaan data dan tooling:
- API mocking: menempelkan fixture CSV yang diekspor dari spreadsheet dan mengonversinya menjadi larik JSON yang dapat dikembalikan server lokal Anda sebagai endpoint mock.
- Impor data: mengubah ekspor spreadsheet (kontak, inventaris, respons survei) menjadi larik JSON yang dapat diiterasi aplikasi atau skrip Anda tanpa ketergantungan parser CSV.
- Pengeditan konfigurasi: membiarkan peninjau non-teknis mengedit pengaturan atau feature flag sel demi sel di spreadsheet, kemudian mengonversi CSV yang disimpan ke JSON yang sebenarnya dimuat aplikasi.
Seperti apa contoh konversi CSV ke JSON?
Menempelkan name,age di baris pertama, Alice,30 di baris kedua, dan "Bob, Jr.",25 di baris ketiga, lalu menekan KONVERSI dengan pemisah koma, baris pertama sebagai kunci, dan paksaan tipe aktif, menghasilkan [{"name":"Alice","age":30},{"name":"Bob, Jr.","age":25}] — koma berkutip dalam "Bob, Jr." tetap di dalam satu bidang, dan usia menjadi angka JSON yang sesungguhnya.
Apakah konverter CSV ke JSON ini berjalan sepenuhnya di peramban saya?
Ya. Setiap proses penguraian dan transformasi berjalan secara lokal sebagai JavaScript di dalam tab peramban Anda. Alat ini sama sekali tidak memanggil fetch, XMLHttpRequest, atau navigator.sendBeacon — payload CSV Anda tidak pernah mencapai server kami, konverter pihak ketiga, atau pipeline analitik mana pun. Alat juga bekerja secara luring setelah halaman dimuat, karena ini adalah bundel HTML/CSS/JS statis tanpa ketergantungan API saat runtime.
Berapa ukuran masukan maksimum yang dapat ditangani konverter ini?
Konverter menyangga seluruh masukan di memori dan berjalan sinkron di utas utama, sehingga batas praktis bergantung pada perangkat Anda. Masukan hingga sekitar 10 MB CSV (kira-kira 100.000 baris biasa) terkonversi tanpa jeda mencolok pada laptop modern. Di luar itu, UI dapat macet saat parser berjalan. Konversi streaming menggunakan Web Worker plus parser potongan adalah tindak lanjut yang direncanakan — untuk saat ini, pecah dataset yang sangat besar sebelum menempelkannya.
Bagaimana parser CSV ke JSON menangani koma berkutip dan baris baru tersemat?
Parser adalah mesin keadaan karakter demi karakter dengan tiga keadaan (FIELD_START, IN_UNQUOTED_FIELD, IN_QUOTED_FIELD) — bukan split(',') naif. Bidang yang dibungkus dengan kutip ganda dapat berisi pemisah, CR, LF, atau kutip ganda harfiah yang dilolos sebagai "", semua tanpa merusak batas bidang. Jadi "Bob, Jr.",25 diurai menjadi dua bidang, bukan tiga, dan deskripsi multi-baris yang dikutip lintas baris diurai menjadi satu sel.
Bagaimana angka, boolean, dan sel kosong diketik dalam keluaran JSON?
Pengetikan dikendalikan oleh sakelar Paksaan tipe. Dengan paksaan tipe aktif (default), sel yang terlihat seperti angka menjadi angka JSON, true/false menjadi boolean, dan literal null menjadi JSON null; yang lain tetap string. Dengan paksaan tipe mati, setiap nilai disimpan sebagai string terlepas dari isinya — berguna ketika nol di depan, nomor telepon, atau kode ID harus tetap utuh. Sel akhir yang hilang di baris pendek dipancarkan sebagai string kosong agar setiap objek memiliki kumpulan kunci penuh.
Pemisah apa saja yang didukung sisi CSV?
Empat pemisah eksplisit didukung: koma (,, default RFC 4180), titik koma (;, umum di locale Eropa), tab (\t, dialek TSV), dan pipa (|). Anda juga dapat memilih Deteksi otomatis, yang menghitung jumlah kemunculan tiap kandidat dalam 4 KB pertama masukan di luar wilayah berkutip dan memilih yang paling sering yang menghasilkan jumlah kolom konsisten di lima baris pertama.
Konverter CSV ke JSON ini mengurai dengan mesin keadaan yang sebenarnya dan memancarkan JSON bersih siap pakai yang dapat Anda tempel langsung ke panggilan API, skrip, atau peninjauan kode — tanpa mengunggah satu byte pun.