tigtools

Konverter CSV ke JSON

Tempel CSV atau buka file untuk mendapatkan array JSON berisi objek atau array. Penguraian dilakukan di browser, sehingga data tidak pernah meninggalkan perangkat Anda.

Berjalan di browser Anda Tanpa perlu mendaftar

Format output

Cara menggunakan

  1. Tempel teks CSV, buka file .csv atau .tsv, atau tekan “Coba contoh”.
  2. Biarkan “Deteksi otomatis” dipilih atau tentukan sendiri pemisahnya, lalu pilih apakah baris pertama berisi nama kolom.
  3. Opsional, aktifkan deteksi angka, boolean, dan null, lalu pilih objek atau array sebagai format keluaran.
  4. Salin JSON atau unduh sebagai file .json.

Cara kerja

Parser mengikuti RFC 4180, spesifikasi CSV: kolom dapat diapit tanda petik ganda, kolom yang diapit tanda petik dapat berisi pemisah dan jeda baris, dan dua tanda petik ganda di dalam kolom tersebut mewakili satu karakter tanda petik. Jeda baris dapat berupa CRLF (Windows), LF (macOS, Linux), atau CR. Jeda baris di akhir tidak membuat catatan kosong. Baris yang sepenuhnya kosong akan dilewati. Byte order mark di awal, yang sering ditambahkan oleh Excel, akan dihapus. Jika tanda petik pada suatu kolom tidak pernah ditutup, Anda akan mendapat pesan kesalahan yang menunjukkan baris tempat kolom itu dimulai, karena menebak dapat membuat sisa file diam-diam digabung menjadi satu sel.

Deteksi otomatis mencoba koma, titik koma, tab, dan pipa pada baris-baris pertama, lalu memilih pemisah yang menghasilkan jumlah kolom yang konsisten. Jika ada baris header, setiap catatan menjadi objek dengan nama kolom sebagai kunci; nama kosong akan menjadi column_1, column_2… dan nama yang berulang akan diberi akhiran seperti id_2. Baris dengan kolom lebih sedikit daripada header akan mendapat nilai kosong; kolom tambahan akan diberi nama kolom tambahan.

Secara default, setiap nilai tetap berupa string. Ini pilihan yang aman: kode pos seperti 01234, nomor telepon, dan ID tetap memiliki nol di depan. Jika deteksi tipe diaktifkan, nilai yang formatnya persis seperti angka JSON akan menjadi angka (kecuali 007, 1,5, atau bilangan bulat di atas 2^53), true dan false dalam huruf apa pun akan menjadi boolean, serta null atau sel kosong akan menjadi null. Tanggal tetap berupa teks.

Contoh

Ekspor spreadsheet

id,name,price\n1,Desk,149.90 dikonversi menjadi [{"id":"1","name":"Desk","price":"149.90"}]. Jika deteksi tipe diaktifkan, hasilnya menjadi {"id":1,"name":"Desk","price":149.9}.

File Excel Eropa

File yang disimpan oleh Excel di Jerman menggunakan titik koma: Name;Preis\nTisch;149,90. Deteksi otomatis memilih titik koma, dan 149,90 tetap menjadi string "149,90" karena bukan angka JSON.

Sel dengan jeda baris

Sel alamat yang ditulis sebagai "221B Baker Street London" (diapit tanda petik dan mencakup dua baris) tetap menjadi satu nilai, "221B Baker Street\nLondon", bukan memulai baris baru.

Pertanyaan yang sering diajukan

Mengapa angka saya menjadi string di JSON?

CSV tidak memiliki tipe data, jadi secara default setiap nilai disimpan sebagai teks persis seperti yang tertulis. Aktifkan “Deteksi angka, true/false, dan null” untuk mengonversi nilai yang tampak seperti angka. Nol di depan dan koma desimal tetap menjadi teks agar data tidak berubah.

Bagaimana jika jumlah kolom dalam baris lebih banyak atau lebih sedikit daripada header?

Nilai yang tidak ada akan menjadi string kosong (atau null jika deteksi tipe diaktifkan). Nilai tambahan disimpan dengan kunci tambahan bernama column_N, sehingga tidak ada data yang hilang.

Bisakah alat ini membaca file Excel .xlsx?

Tidak, hanya CSV dan TSV berbasis teks. Di Excel atau Google Sheets, pilih File › Save as / Download › CSV terlebih dahulu, lalu buka file tersebut di sini.

Seberapa besar file yang dapat saya konversi?

File berukuran beberapa megabita dapat dikonversi dalam sekejap di komputer desktop. Batasnya bergantung pada memori perangkat Anda, karena seluruh file dan hasil JSON disimpan di tab browser.

Privasi

CSV Anda dibaca dan dikonversi hanya di browser. File yang dibuka tidak diunggah, dan tidak ada data yang disimpan atau dikirim ke analitik.