CSV ke JSON

CSV merupakan format yang dihasilkan dari ekspor spreadsheet dan basis data; sedangkan JSON adalah format yang diinginkan oleh API, frontend berbasis JavaScript, serta file konfigurasi modern. Konverter ini menerima file CSV yang mencakup baris header dan menghasilkan deretan objek JSON, di mana setiap baris header menjadi sebuah kunci dan setiap baris data menjadi satu objek. Hasilnya dicetak menggunakan kode Unicode tanpa pengkodean khusus dan tanda slash (/) biasa, sehingga dapat langsung dilekatkan ke dalam permintaan Postman atau file JavaScript.

Bagaimana format CSV diubah menjadi JSON

  1. 1

    Lampirkan file CSV

    Data tersebut harus mencakup setidaknya satu baris header dan satu baris data; jika tidak, alat akan mengembalikan kesalahan.

  2. 2

    Baris header menetapkan kunci-kunci

    Baris ke-1 diproses menggunakan `str_getcsv`, dan nama kolomnya, setelah dibersihkan dari spasi, berubah menjadi kunci JSON.

  3. 3

    Setiap baris data berubah menjadi sebuah objek.

    Nilai-nilai diselaraskan dengan header berdasarkan posisi. Sel yang tidak ada ditampilkan sebagai string kosong.

  4. 4

    Salin JSON yang indah tersebut

    Diformat menggunakan JSON_PRETTY_PRINT, JSON_UNESCAPED_UNICODE, dan JSON_UNESCAPED_SLASHES agar tampil baik di semua editor.

Bagaimana proses konversi menangani berbagai tipe data dan kasus khusus

CSV pada dasarnya bersifat tanpa tipe: setiap sel merupakan string. JSON memiliki tipe yang jelas. Konverter tersebut memilih pendekatan yang aman dengan menyimpan setiap nilai dalam bentuk string JSON, anda tidak akan pernah melihat angka berubah secara diam-diam menjadi teks, maupun ID yang awalnya diawali oleh angka nol kehilangan angka nol tersebut.

Contoh

Masukkan CSV:

name,age,email
Alice,30,alice@example.com
Bob,25,bob@example.com

JSON Hasil Keluaran:

[
  { "name": "Alice", "age": "30", "email": "alice@example.com" },
  { "name": "Bob",   "age": "25", "email": "bob@example.com"   }
]

Perlu dicatat bahwa age merupakan sebuah string, bukan angka. Jika Anda memerlukan tipe data numerik, Anda dapat melakukan pemrosesan lanjutan menggunakan Number(row.age) dalam JavaScript, atau menggunakan Konverter CSV ke JSON yang menyediakan lebih banyak pilihan untuk penentuan tipe data.

Kasus-kasus ekstrem

Situasi Perilaku
Baris data kosong Diabaikan secara diam-diam; tidak terdapat objek kosong dalam hasil keluaran.
Baris yang lebih pendek daripada header Bidang yang tidak tersedia ditampilkan sebagai string kosong.
Baris yang lebih panjang dari header Sel-sel tambahan akan dihapus.
Nama header yang tumpang tindih Kunci-kunci baru akan menggantikan kunci-kunci sebelumnya dalam objek hasil akhir.
Header dengan spasi di sekelilingnya Dipotong sebelum digunakan sebagai kunci.

Kapan harus memilih alat konversi CSV ke JSON lainnya

Ini adalah konverter sederhana dengan pengaturan bawaan yang logis dan tanpa opsi tambahan. Gunakan Konverter CSV ke JSON ketika Anda memerlukan pemisah selain koma, menonaktifkan baris header, atau mengganti format output dari kompak menjadi rapi.

Pertanyaan yang Sering Diajukan

Konverter sederhana ini tidak mampu melakukan fungsi tersebut. Setiap nilai dihasilkan sebagai string JSON yang mempertahankan ID seperti 00123 dan angka desimal seperti 1.50 secara akurat sesuai bentuknya. Lakukan pemrosesan lanjutan menggunakan Number() atau parseFloat() di perangkat konsumen Anda, atau gunakan Konverter CSV ke JSON lainnya untuk opsi tambahan.

Alat ini memerlukan satu header; alat tersebut menggunakan nama header sebagai kunci JSON. Jika file Anda tidak memiliki header, tambahkan baris seperti col1,col2,col3 di bagian atas, atau gunakan Konverter CSV ke JSON yang dilengkapi opsi untuk menonaktifkan header.

Karakter Unicode tidak diubah bentuknya (aksen, karakter CJK, dan emoji muncul secara harfiah dalam hasil output). Tanda slash ke depan juga tidak diubah bentuknya, sehingga URL terlihat alami. Kutipan ganda yang terdapat di dalam nilai dikonversi dengan benar menjadi bentuk terkhusus \".

Ya. File CSV dikirim ke server kami agar JSON dapat dibuat. File tidak disimpan dan tidak ditambahkan ke tautan halaman.

Alat Terkait