Konverter CSV ke JSON
Tempelkan CSV dan dapatkan array JSON berisi objek yang kuncinya berasal dari baris header Anda, atau array berisi array jika tidak ada header. Ganti arah untuk mengubah array JSON berisi objek datar kembali menjadi CSV. Koma bertanda kutip, tanda kutip ganda, dan pemisah baris di dalam kolom dibaca dengan benar, dan konversi berjalan di browser Anda. Gratis, tanpa perlu daftar.
Arah
Cara Menggunakan Konverter CSV ke JSON
- 1. Pilih arah. CSV → JSON adalah default; JSON → CSV membutuhkan array JSON berisi objek datar.
- 2. Atur opsinya. Pemisah dapat dideteksi otomatis atau diatur tetap ke koma, titik koma, atau tab; untuk JSON → CSV, Deteksi otomatis menulis koma. Untuk CSV → JSON Anda juga memilih indentasi 2 spasi, 4 spasi, atau tab, dan apakah baris pertama berisi header.
- 3. Tempel dan ubah. Tekan Ubah. Masalah — tanda kutip yang tidak tertutup, JSON tidak valid, atau array yang tidak terdiri dari objek — muncul sebagai pesan, bukan keluaran.
- 4. Salin atau unduh. Salin Hasil menyalin keluaran; tombol unduh menyimpannya sebagai
data.jsonataudata.csv.
Cara CSV Dibaca
CSV tampak sederhana, padahal tidak: file yang sama bisa memakai koma, titik koma, atau tab, dan sebuah kolom bisa berisi karakter yang sama dengan pemisah kolom. Spesifikasi yang paling dekat adalah RFC 4180, yang bersifat informatif, bukan standar. Dokumen itu menyatakan bahwa kolom yang berisi koma, tanda kutip ganda, atau pemisah baris harus diapit tanda kutip ganda, dan bahwa tanda kutip ganda di dalam kolom seperti itu ditulis sebagai dua. Konverter mengikuti aturan tersebut dan menambahkan beberapa kelonggaran:
- Kolom bertanda kutip. Kolom yang diawali tanda kutip ganda berlangsung sampai tanda kutip penutup, sehingga bisa memuat pemisah, pemisah baris, dan
""untuk tanda kutip harfiah. Tanda kutip yang tidak ditutup menghentikan konversi dan melaporkan baris tempat kolom itu dimulai. - Akhir baris. LF, CRLF, dan CR saja mengakhiri baris, dan baris kosong dilewati.
- Deteksi pemisah. Dalam mode otomatis konverter hanya melihat baris pertama dan memilih yang paling sering muncul di antara koma, titik koma, atau tab; jika seri, koma yang dipilih. Jika baris pertama file tidak biasa — misalnya hanya satu kolom atau baris judul — pilih pemisahnya sendiri. RFC 4180 sendiri hanya mengenal koma; titik koma umum pada file yang diekspor dari spreadsheet dengan pengaturan lokal Eropa.
- Semuanya teks. Konverter tidak menebak tipe data, jadi
2020menjadi string"2020", bukan angka, dan sel kosong menjadi"", bukan null. Ubah tipenya setelahnya jika kode Anda membutuhkannya.
Contoh Kasus
Header
name,note,year
Baris 1
"Smith, Jane","Said ""hello""",2020
Baris 2
Lee,short
Hasil
Dua objek. Smith, Jane memiliki catatan Said "hello" dan tahun "2020"; Lee memiliki catatan short dan tahun "".
Koma di dalam Smith, Jane tetap berada dalam satu kolom karena tanda kutipnya, dan tanda kutip ganda yang digandakan menjadi satu. Baris Lee kurang satu sel, sehingga tahun yang hilang menjadi string kosong; baris dengan sel tambahan kehilangan sel itu, karena tidak ada header yang menamainya. Hilangkan centang Baris pertama adalah header dan input yang sama menjadi array berisi array — [["name","note","year"],…] — dengan baris yang pendek dibiarkan pendek.
Nama header yang sama akan bertabrakan: dengan dua kolom bernama id, kolom yang kemudian menang dan yang sebelumnya hilang, jadi ganti namanya terlebih dahulu.
Kembali: JSON ke CSV
Arah sebaliknya mengharapkan array tingkat atas yang seluruh itemnya objek. Baris header adalah gabungan semua kunci sesuai urutan kemunculan pertama, sehingga objek dengan kunci yang berbeda tetap sejajar, dan nilai yang hilang dibiarkan kosong. Angka dan boolean ditulis sebagaimana adanya, null menjadi sel kosong, dan array atau objek bertingkat ditulis di dalam selnya sebagai teks JSON lalu diberi tanda kutip. Jika data Anda bertingkat, ratakan terlebih dahulu. Sel yang berisi pemisah, tanda kutip, atau pemisah baris diberi tanda kutip, dengan tanda kutip digandakan, dan baris dihubungkan dengan pemisah baris biasa.
Diterapkan pada [{"name":"Smith, Jane","year":2020,"tags":["a","b"]},{"name":"Doe","note":"two\nlines","year":null}], konverter menulis header name,year,tags,note, baris pertama "Smith, Jane", 2020 dan teks bertanda kutip ["a","b"], dan baris kedua untuk Doe yang tahun dan tag-nya kosong serta catatannya berupa teks dua baris yang diberi tanda kutip.
Alat Mana yang Anda Butuhkan?
| Anda ingin | Gunakan |
|---|---|
| Mengubah antara CSV dan array JSON | Halaman ini |
| Melihat CSV sebagai tabel untuk disalin sebagai HTML | CSV ke Tabel |
| Membuat tabel Markdown dari CSV | Generator Tabel Markdown |
| Menyimpan hanya sebagian kolom CSV | Pengekstrak Kolom |
| Memeriksa atau memformat ulang JSON itu sendiri | Pemformat JSON |
| Mengubah YAML atau XML dari dan ke JSON | YAML ke JSON, XML ke JSON |
| Menata CSV untuk makalah | Generator Tabel LaTeX, Generator Tabel APA |
Pertanyaan yang Sering Diajukan
- Bagaimana cara mengubah CSV ke JSON?
- Tempel CSV ke kotak, biarkan CSV → JSON terpilih, lalu tekan Ubah. Dengan Baris pertama adalah header dicentang, Anda mendapatkan array objek yang kuncinya berasal dari nama header; tanpa itu, Anda mendapatkan array berisi array. Salin hasilnya atau unduh sebagai data.json.
- Apakah konverter menangani kolom bertanda kutip dengan koma atau pemisah baris?
- Ya. Kolom yang diapit tanda kutip ganda dapat memuat pemisah, pemisah baris, dan tanda kutip ganda yang digandakan, sebagaimana dijelaskan RFC 4180. Tanda kutip pembuka tanpa penutup menghentikan konversi dan menyebutkan baris tempat kolom itu dimulai.
- Pemisah apa saja yang didukung?
- Koma, titik koma, dan tab, baik dideteksi otomatis dari baris pertama maupun dipilih sendiri. Pemisah berbentuk pipa dan pemisah lain tidak didukung; alat pengekstrak kolom atau fitur cari-dan-ganti dapat menggantinya dengan koma terlebih dahulu.
- Mengapa angka saya berupa string dalam JSON?
- CSV tidak memiliki tipe, dan konverter tidak menebaknya, sehingga setiap nilai menjadi string dan sel kosong menjadi string kosong. Dengan begitu nilai seperti
007atau1e5tetap persis seperti yang ditulis; ubah tipenya di kode Anda jika membutuhkan angka. - Bagaimana cara kerja JSON ke CSV?
- Dibutuhkan array JSON berisi objek. Setiap objek menjadi baris, kolomnya adalah semua kunci yang muncul di mana pun, dan objek atau array bertingkat ditulis di dalam selnya sebagai teks JSON. JSON yang tidak valid dilaporkan dengan nomor baris jika parser browser Anda memberikan posisinya.
- Mengapa CSV saya terbuka salah di Excel setelah diubah?
- File berupa UTF-8 biasa tanpa byte-order mark dan memakai pemisah yang Anda pilih, sehingga Excel di wilayah yang memakai titik koma dapat menaruh semuanya dalam satu kolom, dan karakter non-Inggris mungkin perlu wizard impor diatur ke UTF-8. Memilih pemisah titik koma sering memperbaiki masalah pertama.
- Apakah data saya diunggah ke suatu tempat?
- Tidak. Kedua arah berjalan di browser Anda, dan teks yang Anda tempel tidak dikirim ke CitationEasy. Unduhan dibuat secara lokal.