Konverter CSV ke JSON dan JSON ke CSV

Ubah CSV ke JSON dan sebaliknya: tanda kutip, pemisah apa saja, data bersarang.

Nonaktif secara bawaan: semua nilai tetap teks, jadi sesuatu seperti 007 tidak berubah.

Fungsi alat ini

Alat ini mengubah tabel berbentuk CSV menjadi JSON, dan JSON kembali menjadi tabel, tanpa mengirim data ke mana pun. CSV hanyalah teks dengan satu rekaman per baris dan pemisah di antara nilai; mudah dibuat tetapi ternyata sulit dibaca dengan benar: nilai bisa mengandung pemisah itu sendiri, tanda kutip, bahkan baris baru. Konverter ini mengikuti spesifikasi CSV (RFC 4180) dan toleran terhadap berkas berantakan yang benar-benar dihasilkan spreadsheet dan ekspor.

Mengubah CSV ke JSON

  1. Tempel CSV, atau buka atau letakkan file.
  2. Biarkan "Pemisah" di otomatis. Alat melihat beberapa baris pertama dan memilih koma, titik koma, tab, atau garis tegak yang selalu memecahnya menjadi jumlah kolom yang sama. Excel di Indonesia umumnya menyimpan dengan titik koma karena koma dipakai sebagai desimal, jadi tebakan yang tepat penting.
  3. Biarkan "Baris pertama adalah header" tercentang untuk mendapat array objek dengan nama kolom, atau hapus centang, atau pilih "Array dari array", untuk mendapat daftar nilai biasa.
  4. Putuskan apakah akan mengonversi. Secara bawaan setiap nilai tetap teks, persis seperti ditulis. Centang "Ubah angka, true/false, dan sel kosong" dan 42 menjadi angka, true menjadi boolean, dan sel kosong menjadi null. Angka mempertahankan teks persisnya: 1.50 tetap 1.50.
  5. Salin JSON atau unduh.

Mengubah JSON ke CSV

Tempel array objek, array dari array, atau satu objek. Kolomnya adalah semua kunci yang muncul di rekaman mana pun, menurut urutan kemunculan pertama; rekaman yang tidak punya suatu kunci mendapat sel kosong. Data bersarang diratakan dengan satu aturan yang terdokumentasi: kunci di dalam objek menjadi jalur yang digabung dengan titik, jadi {"user": {"name": "An"}} menghasilkan kolom user.name, dan item array diberi nomor: tags menjadi tags.0 dan tags.1. Jika mau, seluruh array dapat dipertahankan sebagai teks JSON dalam satu sel. Sel yang berisi pemisah, tanda kutip, atau baris baru diberi tanda kutip, dengan tanda kutip digandakan, sesuai standar.

Contoh

CSV ini punya nilai bertanda kutip yang berisi koma dan satu sel kosong:

name,age,city
An,34,"Ha Noi, VN"
Binh,,Hue

Dengan pengaturan bawaan, hasilnya adalah daftar dua objek dengan semua nilai berupa teks, jadi usia Binh adalah string kosong. Dengan konversi aktif, usia An menjadi angka 34 dan usia Binh menjadi null. Pada arah sebaliknya, JSON {"id": 1, "user": {"name": "An"}, "tags": ["a", "b"]} menghasilkan kolom id, user.name, tags.0, dan tags.1 dengan nilai 1, An, a, dan b.

Mengapa konversi nonaktif secara bawaan

Spreadsheet diam-diam mengubah teks menjadi angka dan merusak data: kode pos 01234 kehilangan nol, nomor kartu atau pesanan 16 digit berubah menjadi notasi ilmiah, kode produk seperti 1E5 menjadi 100000. Alat ini tidak menebak kecuali Anda memintanya. Bahkan dengan konversi aktif, nilai dengan nol di depan, atau bilangan bulat lebih dari 15 digit, tetap teks karena JavaScript tidak dapat menyimpannya dengan tepat.

Kesalahan umum

  • Pemisah salah. Semuanya masuk ke satu kolom. Biarkan otomatis atau pilih pemisah secara manual.
  • Aksen rusak di Excel. Excel membutuhkan BOM untuk mengenali UTF-8. Centang "Tambahkan BOM" saat mengonversi ke CSV untuk Excel.
  • Sel yang diawali = + - atau @. Excel memperlakukannya sebagai rumus saat file dibuka. Periksa data dari sumber tak tepercaya sebelum membukanya di spreadsheet.
  • Tanda kutip tidak seimbang. Satu tanda kutip nyasar dapat menelan sisa file. Alat memperingatkan dan menyebut barisnya.

Batas

Masukan hingga 5 juta karakter atau 10 MB untuk file. Kotak hasil menampilkan 200.000 karakter pertama dari hasil yang sangat besar; salin dan unduh selalu memuat semuanya. Tanggal tidak dikonversi: tetap teks.

Pertanyaan yang sering diajukan

Apakah data saya diunggah?

Tidak. Konversi berjalan di browser; file dibaca di perangkat Anda dan tidak ada yang dikirim ke mana pun.

Bagaimana alat ini mengetahui pemisahnya?

Alat memecah beberapa baris pertama dengan tiap kandidat (koma, titik koma, tab, garis tegak), mengabaikan yang berada dalam tanda kutip, lalu memilih yang memberi jumlah kolom sama di paling banyak baris. Anda selalu bisa memilih sendiri.

Bagaimana objek dan array bersarang menjadi kolom?

Kunci bersarang digabung dengan titik (address.city) dan item array diberi nomor (tags.0, tags.1). Pilih "Biarkan sebagai JSON dalam satu sel" agar array tidak diratakan.