Konverter CSV ke JSON
Ubah tabel CSV menjadi array JSON berisi objek, sepenuhnya di browser Anda.
Berjalan sepenuhnya di browser Anda. Tidak ada yang diunggah, dicatat, atau disimpan.
Tempel hasil ekspor spreadsheet dan dapatkan array JSON, satu objek per baris, dengan nama kolom sebagai kuncinya. Semuanya terjadi di browser Anda, jadi file berisi data pelanggan, gaji, atau baris pesanan tidak pernah keluar dari perangkat Anda.
Cara kerja
Dokumen dibaca karakter demi karakter mengikuti RFC 4180, yang memungkinkan sebuah kolom berisi pemisah, baris baru, atau tanda kutipnya sendiri: semua yang ada di antara tanda kutip ganda bersifat harfiah, dan tanda kutip yang digandakan adalah satu tanda kutip. Memecah berdasarkan koma dan baris baru akan gagal pada alamat pertama yang mengandung koma.
Baris pertama menjadi nama kolom kecuali Anda menyatakan lain, dan dalam hal itu setiap baris kembali sebagai array, bukan objek. Nama yang kosong menjadi column_1, column_2, dan seterusnya sesuai posisi, dan nama yang berulang diberi akhiran angka, karena dua kunci yang identik dalam satu objek berarti kolom pertama hilang tanpa pemberitahuan.
Setiap nilai datang sebagai string, karena CSV tidak punya tipe. Membaca tipe sebagai gantinya adalah kotak centang, bukan perilaku bawaan: inferensi tipe itulah yang mengubah kode produk 007 menjadi angka 7. Saat diaktifkan, inferensi sengaja dibuat hati-hati: nol di depan, tanda plus di depan, atau spasi di sekitarnya membuat nilai tetap berupa string, begitu pula bilangan bulat yang terlalu besar untuk bertahan sebagai double.
Contoh
| Kasus | Masukan | Hasil |
|---|---|---|
| Kolom bertanda kutip yang berisi pemisah | name,city "Doe, John",Geneva | [ { "name": "Doe, John", "city": "Geneva" } ] |
Pertanyaan umum
File saya memakai titik koma. Apakah itu tetap CSV?
Ya, dan itu hal yang biasa di sebagian besar Eropa. Spreadsheet yang menyimpan CSV dengan pengaturan regional yang menulis desimal dengan koma tidak bisa juga memakai koma sebagai pemisah, jadi ia memakai titik koma. Pilih di daftar pemisah; tab dan garis tegak ada di sana karena alasan yang sama.
Mengapa kode pos saya kehilangan nol di depannya?
Tidak hilang, kecuali Anda meminta inferensi tipe. Tanpa itu, setiap nilai tetap berupa string persis seperti yang ditulis. Saat inferensi diaktifkan, nilai yang diawali nol tetap disimpan sebagai string justru karena alasan ini, bersama semua nilai yang diawali tanda plus atau diapit spasi.
Bagaimana dengan baris yang jumlah kolomnya berbeda?
Baris yang kurang diisi dengan string kosong, karena kolom kosong di akhir biasanya dibuang oleh program yang menulis file itu. Baris yang lebih panjang mempertahankan nilai tambahannya dengan nama sesuai posisi, bukan membuangnya, sehingga tidak ada yang hilang tanpa Anda lihat.
Apakah file saya diunggah ke suatu tempat?
Tidak. Halaman ini memuat skrip kecil yang mengurai dokumen secara lokal. Anda bisa memutuskan koneksi jaringan setelah halaman dimuat dan alat ini tetap berfungsi.
Perlu diketahui
- Semuanya terjadi di browser Anda. Dokumen tidak diunggah, tidak dicatat, dan tidak disimpan.
- Penggunaan tanda kutip mengikuti RFC 4180: kolom diberi tanda kutip jika berisi pemisah, tanda kutip ganda, atau baris baru, dan tanda kutip ganda di dalam kolom bertanda kutip ditulis dua kali. Garis miring terbalik adalah karakter biasa dan tidak pernah diperlakukan sebagai escape.