T

Text Machine

Alat teks andal, di browser Anda

Konverter CSV ke JSON

Ubah CSV atau TSV menjadi JSON yang rapi langsung di browser Anda. Baris pertama menjadi kunci, pemisah dideteksi secara otomatis, dan Anda bisa membiarkan setiap nilai tetap sebagai teks atau mengubah angka dan boolean menjadi tipe data — tidak ada yang diunggah.

Pemisah

Output

Nilai

Baris pertama menjadi kunci untuk setiap objek.

CSV
JSON

JSON Anda akan muncul di sini.

Cara menggunakan Konverter CSV ke JSON

  1. 1

    Tempel CSV Anda

    Tempel baris data CSV atau TSV dengan satu catatan per baris. Letakkan nama kolom di baris pertama agar bisa menjadi kunci.

  2. 2

    Pilih pemisah

    Biarkan pada Otomatis untuk mendeteksi koma, titik koma, atau tab secara otomatis, atau pilih pemisah yang digunakan data Anda.

  3. 3

    Pilih bentuk output

    Gunakan Objek untuk mengubah setiap baris menjadi objek dengan kunci dari header, atau Baris untuk membiarkan setiap baris tetap sebagai array sederhana. Ubah Nilai ke Tipe untuk membaca angka dan boolean sebagai tipe JSON yang sesungguhnya.

  4. 4

    Salin JSON

    Salin JSON yang sudah terformat dan tempel langsung ke kode Anda, permintaan API, atau file konfigurasi.

Mengurai CSV menjadi JSON: Header, Tipe, dan Ketidakberaturannya

CSV tampak sederhana padahal tidak

Sebuah berkas berpisah-koma tampak sepele — nilai, koma, baris baru — tetapi kesederhanaan itu adalah jebakan. CSV tidak memiliki standar resmi yang ditegakkan secara universal; RFC 4180 mendokumentasikan konvensi umum, namun para pengekspor berselisih soal pengutipan, akhiran baris, dan pembatas. Kasus-kasus sulitnya persis yang disalahtangani oleh pemecahan naif pada koma: nilai yang dirinya sendiri mengandung koma, nilai yang mengandung karakter kutip, dan nilai yang melintasi beberapa baris.

Sebuah pengurai yang sesungguhnya menangani semua itu dengan membaca aturan pengutipan alih-alih hanya memecah teks. Sebuah ruas yang dibungkus dalam kutip ganda secara sah boleh mengandung koma dan kutip yang di-escape (ditulis sebagai dua kutip ganda berturut-turut), dan alat ini menghormati persis itu: sebuah sel yang menyimpan "Portland, Oregon" tetap satu nilai alih-alih menjadi dua kolom, dan kutip ganda di dalam sebuah ruas luruh menjadi satu kutip harfiah. Satu kasus yang tidak ia rekonstruksi adalah nilai dengan pemutus baris di dalam kutip, karena ia pertama-tama memecah berkas menjadi rekam baris demi baris — jadi jagalah setiap rekam pada barisnya sendiri, atau buang baris baru di dalam sel, sebelum mengonversi.

Bentuk keluaran: sebuah larik objek

Bentuk JSON yang alami dari sebuah tabel adalah larik objek, satu objek per baris data. Baris pertama CSV diperlakukan sebagai header, dan setiap sel header menjadi sebuah kunci yang dimiliki bersama oleh setiap objek. Tempel tiga kolom bernama name, role, dan city yang diikuti dua baris data, maka Anda mendapat sebuah larik berisi dua objek, masing-masing dengan ketiga kunci itu yang dipetakan ke nilai baris tersebut. Inilah bentuk yang diharapkan sebagian besar API dan skrip impor.

Jika data Anda tidak memiliki baris header, pemetaan itu tidak punya apa pun untuk diambil sebagai kunci. Tukar ke mode keluaran baris dan setiap baris menjadi larik nilai yang sederhana, mempertahankan kisi mentah tanpa mengarang nama. Memilih mode keluaran yang tepat sejak awal menyelamatkan Anda dari objek yang berkunci pada baris data pertama yang tak disengaja.

Semuanya adalah string sampai Anda menyatakan sebaliknya

Inilah peringatan tunggal yang paling penting ketika membaca CSV. Format ini sama sekali tidak membawa informasi tipe — setiap sel adalah teks. Tanpa campur tangan, angka 42 menjadi string 42, kata true menjadi string true, dan sel kosong menjadi string kosong. Kode yang mengharapkan angka atau boolean yang sesungguhnya dari ruas-ruas itu akan diam-diam berperilaku salah.

Aktifkan nilai bertipe dan pengurai mempromosikan teks numerik biasa menjadi angka JSON, kata true dan false menjadi boolean, dan kata null menjadi null yang sesungguhnya. Inferensi tipe itu praktis tetapi pada dasarnya heuristik, jadi awasi kasus tepinya: pengenal dengan nol di depan, nomor telepon, kode pos, dan string yang menyerupai-versi secara teknis tampak numerik tetapi biasanya sebaiknya tetap teks. Ketika ketepatan itu penting untuk ruas-ruas tersebut, biarkan nilai sebagai teks dan konversikan dengan sengaja dalam kode Anda sendiri.

Deteksi pembatas dan TSV

Tidak setiap berkas nilai-berpisah menggunakan koma. Spreadsheet di banyak lokal Eropa mengekspor dengan titik koma karena koma adalah tanda desimal, dan menyalin sebuah rentang langsung dari spreadsheet biasanya menghasilkan nilai berpisah-tab. Mode Auto memeriksa baris pertama masukan Anda dan memilih mana di antara koma, titik koma, atau tab yang paling sering muncul di sana, sehingga berkas koma, berkas titik koma, dan TSV semuanya terkonversi tanpa Anda mengubah satu pengaturan pun.

Deteksi-otomatis andal untuk data yang bersih tetapi dapat terkecoh oleh berkas yang baris pertamanya kebetulan mengandung lebih banyak salah satu pemisah daripada pembatas yang sebenarnya. Jika kolom-kolomnya keluar salah, batalkan tebakan itu dan tetapkan pembatasnya secara eksplisit — itu menghilangkan kerancuan dalam satu langkah.

Pengkodean, BOM, dan makhluk halus tak terlihat lainnya

Berkas yang diekspor dari perangkat lunak spreadsheet sering kali diawali dengan byte-order mark, sebuah karakter tak terlihat tepat di awal berkas. Jika dibiarkan, ia menempel pada nama header pertama, sehingga sebuah kunci yang seharusnya id diam-diam menjadi string yang sedikit berbeda dan pencarian Anda berdasarkan id meleset. Akhiran baris yang tidak konsisten antarsistem operasi dan baris kosong di akhir adalah tersangka biasa lainnya yang menghasilkan baris hantu atau kolom yang meleset satu.

Alat ini memangkas setiap header dan sel, sehingga makhluk halus yang biasa sebagian besar terurus dengan sendirinya: ia mentoleransi akhiran baris Unix maupun Windows, dan karena byte-order mark di depan terhitung sebagai spasi kosong yang dapat dipangkas, ia dibuang dari header pertama secara otomatis alih-alih ditempelkan ke kuncinya. Itulah sebabnya menempel ekspor spreadsheet mentah di sini biasanya langsung berhasil. Jika sebuah kunci hasil konversi tetap menolak cocok dalam kode, curigai karakter nyasar yang tidak dihapus oleh pemangkasan — misalnya spasi lebar-nol — dan ekspor ulang berkas itu sebagai UTF-8 biasa.

Baris tak rata dan sel kosong

Spreadsheet yang sesungguhnya itu berantakan: beberapa baris memiliki sel kosong di akhir, beberapa sama sekali kehilangan ruas, dan sebuah baris kosong nyasar menyusup di bagian akhir. Ketika sebuah baris memiliki nilai lebih sedikit daripada jumlah header, ruas yang hilang muncul sebagai string kosong alih-alih membuat konversi macet, sehingga larik keluaran tetap berbentuk persegi dan setiap objek membawa himpunan kunci yang lengkap.

Sebelum memercayai hasilnya, telusuri ia untuk baris penanda di mana nilai-nilainya tampak bergeser satu kolom — itu adalah tanda tangan dari pembatas yang tidak di-escape di dalam ruas tanpa-kutip di hulu. Memperbaiki berkas sumber (kutip nilai yang bermasalah) jauh lebih andal daripada mencoba menambal JSON-nya setelahnya.

Di mana CSV-ke-JSON membuktikan nilainya

Penggunaan yang paling umum adalah mengubah sebuah spreadsheet yang diserahkan kepada Anda menjadi data yang dapat dikonsumsi program Anda: mengisi basis data, membangun badan permintaan API, menghasilkan berkas konfigurasi, atau mengisi fixture pengujian. Non-pengembang hidup di spreadsheet, pengembang hidup di JSON, dan konversi ini adalah jembatan di antara keduanya tanpa menulis pengurai sekali pakai setiap kali.

Karena seluruh penguraian berjalan di peramban Anda, Anda dapat mengonversi ekspor sensitif — daftar pelanggan, metrik internal, baris keuangan — tanpa mengunggah apa pun ke layanan pihak ketiga. Ingat satu aturan demi keamanan di hilir: putuskan secara sadar apakah setiap kolom sebaiknya bertipe atau dibiarkan sebagai teks, karena pemaksaan tipe yang diam-diam adalah alasan paling umum data terimpor berperilaku berbeda dari yang ditampilkan spreadsheet.

Pertanyaan yang sering diajukan

Bagaimana cara mengubah CSV menjadi JSON?
Tempel CSV Anda dengan nama kolom di baris pertama, dan JSON yang sudah terformat langsung muncul di bawah. Gunakan tombol Salin untuk mengambil hasilnya. Semuanya berjalan di browser Anda.
Apakah baris pertama harus berupa header?
Dalam mode Objek, baris pertama digunakan sebagai kunci untuk setiap objek. Jika data Anda tidak memiliki header, beralihlah ke mode Baris dan setiap baris akan menjadi array nilai biasa.
Bisakah membaca tab atau titik koma, bukan hanya koma?
Bisa. Mode Otomatis mendeteksi data yang dipisahkan koma, titik koma, dan tab, sehingga salinan dari spreadsheet maupun CSV gaya Eropa sama-sama bisa dikonversi tanpa mengubah pengaturan apa pun.
Bagaimana angka dan boolean diperlakukan?
Secara default, setiap nilai tetap berupa string. Ubah Nilai ke Tipe dan alat ini akan membaca angka biasa sebagai angka JSON, true dan false sebagai boolean, serta kata null sebagai null yang sesungguhnya.
Apakah data saya diunggah ke suatu tempat?
Tidak. Konversi sepenuhnya terjadi di browser Anda dengan JavaScript, jadi CSV Anda tidak pernah meninggalkan perangkat Anda dan tidak ada yang disimpan di server.

Alat terkait

Lanjutkan dengan alat praktis ini

Konverter JSON ↔ CSV

Konverter Unix Timestamp

Konverter JSON ↔ YAML

Konverter Teks ke Biner

Konverter Teks ke Hex

Penerjemah Kode Morse