18Docs

CSV, JSON, YAML, atau XML: Mana yang Tepat?

CSV, JSON, YAML, dan XML sama-sama menyimpan data terstruktur, tapi masing-masing dibuat untuk kebutuhan yang berbeda. Memilih yang tepat — dan tahu cara mengonversinya — bikin proses pemindahan data antara spreadsheet, kode, konfigurasi, dan API jadi jauh lebih lancar.

Keunggulan masing-masing format

CSV adalah tabel datar: baris dan kolom, tidak lebih. Cocok banget untuk spreadsheet dan ekspor data tabular, dan hampir semua tool bisa membacanya — tapi tidak bisa menampung struktur bersarang (nested) atau hierarki. JSON adalah bahasa API dan aplikasi modern: ringkas, mendukung object dan array bersarang, dan mudah diproses oleh kode program. YAML adalah 'saudara' JSON yang lebih ramah manusia, memakai indentasi alih-alih tanda kurung, itulah kenapa YAML mendominasi file konfigurasi. XML adalah yang paling 'senior', bertele-tele tapi sangat terstruktur, masih umum dipakai di sistem enterprise, format dokumen, dan API lama.

Mengonversi antar-format dengan bersih

Mengonversi data yang datar itu gampang: tabel CSV bisa langsung dipetakan jadi array object JSON, YAML, atau record XML. Kerumitan muncul saat ada struktur bersarang — CSV tidak bisa menampung struktur bersarang yang bisa ditampung JSON, YAML, dan XML, jadi mengonversi JSON yang sangat bersarang ke CSV berarti harus 'diratakan' (flatten), yang bisa menghilangkan sebagian hierarkinya. Ke arah sebaliknya, dari CSV ke JSON, biasanya jauh lebih mulus.

Saat mengonversi, perhatikan tipe data dan encoding-nya: angka, boolean, dan tanggal harus tetap jadi tipe yang benar, dan teks yang mengandung koma atau karakter khusus perlu diberi tanda kutip yang tepat. Konverter yang bagus akan mengurus semua ini secara otomatis, dan menjalankannya langsung di browser membuat data — yang mungkin bersifat sensitif — tidak pernah keluar ke server mana pun.

Pertanyaan yang sering diajukan

Kenapa JSON bersarang saya tidak bisa dikonversi ke CSV dengan bersih?
CSV adalah tabel datar dan tidak bisa menampung struktur bersarang. JSON yang bersarang harus 'diratakan' dulu supaya muat di kolom, yang bisa menghilangkan sebagian hierarkinya.
Format apa yang paling cocok untuk file konfigurasi?
YAML populer untuk file konfigurasi karena gaya indentasinya mudah dibaca dan diedit orang; JSON juga umum dipakai di tempat-tempat yang tooling-nya lebih cocok dengan JSON.