Buka atau tempel file CSV, dan JSON-nya langsung tampil di samping opsi setiap kali Anda mengubahnya. Secara bawaan, setiap baris menjadi objek dengan nama kolom sebagai kuncinya; pilih array berisi array, objek berisi array per kolom, atau JSON Lines jika kode penerima mengharapkan bentuk itu. Setiap nilai juga tetap berupa string secara bawaan, jadi 00731 dan ID 20 digit keluar persis seperti aslinya; aktifkan deteksi angka hanya jika sebuah kolom memang harus menjadi angka JSON dan true/false. Untuk file konfigurasi, CSV ke YAML menulis baris yang sama dalam format YAML. File dikonversi di browser Anda dan tidak pernah diunggah.
Cara mengonversi CSV ke JSON
- Buka file
.csv,.tsv, atau.txt, seret ke alat ini, atau tempel barisnya. Pemisah dan BOM UTF-8 atau UTF-16 dikenali otomatis; pilih pemisah lain atau pengodean lama seperti Windows-1252 atau Shift_JIS di Pengaturan impor. - Pilih Bentuk JSON. Pratinjau menampilkan 200 baris pertama dari hasil yang persis sama dengan isi unduhan.
- Atur Tipe nilai, Sel kosong, struktur bertingkat, dan indentasi, lalu pilih Unduh JSON atau Salin.
Untuk mengonversi banyak file dengan pengaturan yang sama, pilih Batch: konversi beberapa file lalu pilih semuanya sekaligus: setiap file dikonversi bergiliran dan hasilnya diunduh sebagai satu ZIP.
Opsi hasil JSON: objek, array, atau JSON Lines
| Array objek | Satu objek per baris, dengan kunci dari baris judul kolom: [{"sku": "00731", …}]. Bentuk yang diharapkan kebanyakan API dan kode JavaScript. |
|---|---|
| Array dari array | Baris judul kolom lebih dulu, lalu setiap baris sebagai daftar. Hasilnya paling kecil, dan urutan kolom tersimpan secara eksplisit. |
| Objek berisi array per kolom | {"sku": ["00731", "00732"], …}, praktis untuk pustaka diagram dan alat data frame. |
| JSON Lines | Satu objek JSON per baris (JSON Lines), tanpa array pembungkus. Cocok untuk pipeline log, pemuatan ke BigQuery, dan pemrosesan baris demi baris. |
| Simpan semua nilai sebagai teks | Setiap sel menjadi string JSON, persis seperti tertulis di file. Ini pilihan bawaan. |
| Deteksi angka dan true/false | Sebuah kolom menjadi angka JSON hanya jika setiap nilai yang tidak kosong berupa angka biasa yang tetap utuh setelah dikonversi: tanpa nol di depan, maksimal 15 digit signifikan, tanpa koma desimal. Kolom true/false menjadi boolean. Tanggal tetap berupa string. |
| Sel kosong | Tulis "", null, atau hilangkan kuncinya dari objek tersebut. |
| Jadikan nama kolom bertitik bertingkat | user.name dan user.email menjadi {"user": {"name": …, "email": …}}. Jika sebuah nama sekaligus menjadi nilai dan induk (user dan user.name), kolom-kolom itu tetap datar dan alat ini memberi tahu Anda. |
Judul kolom, nilai bertanda kutip, dan ID di JSON
- Koma, tanda kutip (
""), dan baris baru di dalam nilai bertanda kutip dibaca sesuai RFC 4180 dan ditulis sebagai escape string JSON biasa (\n,\"). - Nama judul kolom dipakai persis seperti tertulis, termasuk spasi dan aksara non-Latin. Judul kolom yang kosong menjadi
Column 3; judul yang berulang menjadiname (2), sehingga tidak ada nilai yang tertimpa. - Judul kolom seperti
__proto__atauconstructorditulis sebagai kunci biasa. - Baris yang punya nilai lebih banyak dari baris judul kolom mendapat kunci tambahan bernama
Column 4,Column 5…; baris yang lebih pendek mendapat nilai kosong. Tidak ada yang dibuang. - Hasil bertipe tidak pernah mengubah
0012menjadi12atau nomor pesanan 19 digit menjadi float yang dibulatkan: kolom seperti itu tetap teks.
Masalah umum saat mengonversi CSV ke JSON
- Semua data masuk ke satu kunci. Pemisahnya salah ditebak; pilih koma, titik koma, tab, atau garis tegak di Pengaturan impor lalu buka ulang file.
- Huruf beraksen tampil seperti é. File ini bukan UTF-8. Pilih pengodeannya (sering Windows-1252 untuk ekspor Excel versi lama) di Pengaturan impor.
- Kolom angka tetap menjadi teks. Setidaknya ada satu nilai yang bukan angka biasa, misalnya
1,5,12 kg, atau nilai dengan nol di depan. Cari di kolom tersebut dengan penampil CSV untuk menemukannya. - Pesan kesalahan tanda kutip menyebut satu baris data. Tanda kutip yang dibuka di baris itu tidak pernah ditutup. Perbaiki di editor CSV atau periksa hasil ekspor dari sistem asalnya.
Batas dan privasi
File hingga 25 MB, 100.000 baris, atau 2 juta sel dibuka dengan pratinjau langsung. File yang lebih besar dikonversi dalam mode streaming: file dibaca dua kali per bagian (sekali untuk mengenali kolom dan tipenya, sekali untuk menulis), pratinjau diganti pemberitahuan, dan unduhan mencakup semua baris. Satu file hasil dibatasi hingga 4 GB.
Konversi berjalan di worker latar belakang pada tab ini, jadi halaman tetap responsif dan Batal bisa menghentikannya. File CSV tidak pernah dikirim ke server.
Contoh: daftar produk sebagai objek JSON
Daftar produk dengan SKU bernol di depan dan koma bertanda kutip, dikonversi dengan pengaturan bawaan (semua teks, array objek, indentasi 2 spasi). Dengan Deteksi angka dan true/false, price menjadi 34.9 dan in_stock menjadi true, sedangkan sku tetap "00731".
sku,name,price,in_stock 00731,"Desk lamp, brass",34.90,true 00732,Cable tidy,4.50,false
[
{
"sku": "00731",
"name": "Desk lamp, brass",
"price": "34.90",
"in_stock": "true"
},
{
"sku": "00732",
"name": "Cable tidy",
"price": "4.50",
"in_stock": "false"
}
]Tanya jawab
Mengapa angka diberi tanda kutip secara bawaan?
Karena CSV tidak punya tipe data: 00731, 1.50, dan 2024-03-01 semuanya hanya teks. Menyimpannya sebagai string menjamin JSON berisi persis apa yang tertulis di file. Pilih deteksi angka jika Anda tahu sebuah kolom berisi kuantitas.
Bisakah JSON dikonversi balik ke CSV di sini?
Belum. Halaman ini hanya mengonversi CSV dan TSV ke JSON.
Apakah JSON Lines sama dengan NDJSON?
Pada praktiknya ya: keduanya berarti satu nilai JSON lengkap per baris, dipisahkan karakter baris baru.