← speedor.net

Konverter data

Konverter format data gratis: CSV ↔ JSON, JSON ↔ YAML dan JSON ↔ XML. Instan, privat, langsung di browser Anda.

Data jarang berdiam dalam satu format. Laporan datang sebagai spreadsheet, API menginginkan JSON, pipeline deployment mengharapkan YAML, dan di suatu tempat di gudang layanan lama masih berbicara XML. Sebagian besar gesekan sehari-hari dalam bekerja dengan data bukanlah datanya sendiri, melainkan mendapatkannya dari bentuk yang Anda miliki ke bentuk yang diminta sesuatu yang lain. Itulah seluruh pekerjaan konverter data: mengambil teks terstruktur dalam satu notasi dan memancarkannya kembali dalam notasi lain, tanpa kehilangan makna di tengah jalan.

Memindahkan data antara CSV, JSON, YAML, dan XML

Data jarang berdiam dalam satu format. Laporan datang sebagai spreadsheet, API menginginkan JSON, pipeline deployment mengharapkan YAML, dan di suatu tempat di gudang layanan lama masih berbicara XML. Sebagian besar gesekan sehari-hari dalam bekerja dengan data bukanlah datanya sendiri, melainkan mendapatkannya dari bentuk yang Anda miliki ke bentuk yang diminta sesuatu yang lain. Itulah seluruh pekerjaan konverter data: mengambil teks terstruktur dalam satu notasi dan memancarkannya kembali dalam notasi lain, tanpa kehilangan makna di tengah jalan.

Konverter Speedor berjalan sepenuhnya di browser Anda. Anda tempel, klik, salin hasilnya. Tidak ada yang diunggah, tidak ada yang dicatat, dan tidak ada yang meninggalkan mesin Anda. Bagi siapa saja yang pernah ragu sebelum memasukkan ekspor pelanggan ke situs web acak, desain lokal saja itulah intinya.

Apa yang sebenarnya bagus untuk setiap format

Ada baiknya mengetahui mengapa format-format ini ada sebelum Anda mulai bertukar di antaranya, karena masing-masing dibangun untuk pekerjaan yang berbeda.

CSV adalah kisi datar berbatas koma yang disukai spreadsheet. Ini bersifat tabular: baris dan kolom, tidak ada yang bersarang. Buka di Excel, Google Sheets, atau Numbers dan langsung berfungsi. Kelemahannya adalah CSV tidak memiliki konsep tipe. Nilai 007 mungkin berupa string, angka, atau kode pos, dan CSV tidak akan memberi tahu Anda mana.

JSON adalah lingua franca web modern. Hampir setiap API yang pernah Anda panggil berbicara itu. JSON menangani penyarangan, array, dan sejumlah tipe nyata (string, angka, boolean, null), yang menjadikannya jauh lebih ekspresif daripada tabel datar. Ini ringkas, ramah mesin, dan didukung di mana saja.

YAML adalah sepupu JSON yang lebih mudah dibaca. Menggunakan indentasi daripada tanda kurung, mendukung komentar, dan cenderung menjadi format pilihan untuk file konfigurasi, Docker Compose, manifes Kubernetes, dan pipeline CI. Ketika manusia harus mengedit sesuatu secara manual, YAML biasanya lebih ramah di mata.

XML adalah tetua. Bertele-tele, banyak tag, dan masih tertanam dalam sistem enterprise, layanan SOAP, pesan keuangan, dan standar dokumen seperti RSS. Anda akan menemuinya lebih jarang dalam proyek baru, tetapi saat Anda membutuhkannya, Anda benar-benar membutuhkannya.

Abstract glowing data blocks morphing from one structured shape into another in dark indigo and cyan
Data yang sama, diekspresikan ulang: satu struktur mengalir ke struktur lain tanpa kehilangan maknanya.

Di mana konversi sebenarnya terjadi

Skenarionya cukup konkret begitu Anda mulai melihatnya. Katakanlah marketing menyerahkan spreadsheet 4.000 kontak dan API pendaftaran hanya menerima array JSON. Anda ekspor sheet ke CSV, jalankan melalui CSV ke JSON, dan Anda mendapat payload yang siap di-POST. Tidak ada skrip perekat, tidak ada pandas, tidak perlu menunggu engineer.

Atau Anda menarik sepotong JSON kembali dari API yang sama dan ingin memasukkannya ke file konfigurasi yang dibaca layanan Anda saat startup. Konversi dengan JSON ke YAML dan Anda mendapatkan sesuatu yang bersih dan dapat diberi komentar yang cocok langsung ke repo Anda. Sebaliknya juga bekerja saat alat hanya menerima JSON tetapi konfigurasi Anda ada dalam YAML.

Dan kemudian ada integrasi yang tidak disukai siapa pun: sistem mitra yang hanya menerima XML. Anda membangun payload dalam JSON karena begitulah aplikasi Anda berpikir, lalu mengonversi ke XML di batasnya. Bentuknya tetap sama, hanya sintaksisnya yang berubah.

Hal-hal yang perlu diperhatikan

Konversi format tidak selalu lossless, dan berpura-pura sebaliknya menyebabkan bug. Beberapa hal yang perlu diingat:

CSV melupakan tipe. Karena setiap sel hanyalah teks, angka, boolean, dan tanggal semua keluar sebagai string kecuali konverter menebak untuk Anda. Jika true perlu menjadi boolean dan bukan kata "true," periksa output sebelum Anda mengirimnya.

YAML peduli tentang spasi. Indentasi bukan kosmetik dalam YAML, itu struktural. Satu spasi yang tersesat dapat mengubah kunci mana yang dimiliki nilai, dan tab sama sekali dilarang. Setelah setiap perjalanan pulang-pergi JSON ke YAML, ada baiknya melihat sekilas, atau jalankan hasilnya melalui pemformat JSON untuk mengonfirmasi struktur bertahan.

XML dan JSON tidak memetakan dengan bersih. JSON memiliki array; XML memiliki elemen berulang. JSON tidak memiliki atribut di mana pun; XML memilikinya di mana-mana. Sebagian besar konverter memilih konvensi yang masuk akal, tetapi jika XML Anda menggunakan atribut secara besar-besaran, JSON yang dihasilkannya akan terlihat sedikit berbeda dari JSON yang ditulis tangan. Itu yang diharapkan, bukan kesalahan.

Kedalaman penyarangan penting. CSV datar, sehingga JSON yang sangat bersarang tidak selalu bisa runtuh menjadi kolom tanpa meratakan kunci (bayangkan address.city). Sebaliknya, CSV datar menjadi array datar, tidak pernah menjadi pohon.

Rows of a glowing data table transforming into a nested tree of brackets in navy, cyan and gold
Baris datar terbuka menjadi pohon bersarang: catatan yang sama, bentuk yang lebih kaya.

Mengapa lokal saja penting di sini

Banyak data yang ingin Anda konversi bukan milik Anda untuk dibagikan. Catatan pengguna, konfigurasi internal, kunci API yang tertanam dalam respons, baris keuangan. Banyak konverter online diam-diam mengirim teks tempel Anda ke server untuk melakukan pekerjaan. Speedor tidak. Logika konversi berjalan di tab browser Anda, data tidak pernah melintasi jaringan, dan menutup tab adalah semua pembersihan yang ada. Ini juga lebih cepat, karena tidak ada perjalanan bolak-balik unggahan, dan bekerja offline setelah halaman dimuat. Gratis, tanpa pendaftaran, tanpa kuota.

Pertanyaan yang sering diajukan

Apakah data saya diunggah ke mana pun saat mengonversinya?

Tidak. Setiap konversi berjalan secara lokal di browser Anda menggunakan JavaScript. Data Anda tidak pernah meninggalkan perangkat Anda dan tidak pernah dikirim ke server, itulah mengapa alat ini bekerja bahkan saat Anda offline.

Bisakah saya mengonversi CSV ke JSON tanpa menulis kode?

Ya. Tempel CSV Anda ke konverter, klik konversi, dan salin array JSON yang dihasilkan. Baris pertama diperlakukan sebagai header kolom, yang menjadi kunci untuk setiap objek.

Mengapa JSON yang dikonversi menampilkan angka sebagai string?

CSV tidak memiliki konsep tipe data, sehingga setiap nilai dimulai sebagai teks. Beberapa konverter mencoba mendeteksi angka dan boolean secara otomatis, tetapi jika ragu mereka menyimpan nilai sebagai string untuk menghindari kerusakan hal-hal seperti kode pos atau ID dengan nol di depan.

Apa perbedaan antara JSON dan YAML?

Keduanya merepresentasikan jenis data yang sama, tetapi YAML menggunakan indentasi daripada kurung kurawal dan tanda kurung, memungkinkan komentar, dan umumnya lebih mudah dibaca dan diedit orang. JSON lebih ringkas dan merupakan default untuk sebagian besar API web.

Apakah konversi antara format ini selalu lossless?

Biasanya, tetapi tidak selalu. JSON, YAML, dan XML memetakan satu sama lain dengan baik dalam sebagian besar kasus. Pasangan yang paling rumit adalah CSV, yang datar dan tidak bertipe, dan XML, yang menangani atribut dan elemen berulang secara berbeda dari array JSON. Selalu periksa output untuk data penting.

Apakah konverter ini bekerja pada file besar?

Konverter menangani sebagian besar file sehari-hari dengan nyaman karena pekerjaan dilakukan di mesin Anda sendiri. Performa bergantung pada perangkat Anda daripada server, sehingga file yang sangat besar dibatasi terutama oleh memori browser Anda.