Semua artikel

JSON ↔ YAML/CSV/XML/TOML: kapan dan mengapa perlu dikonversi

JSON bukan satu-satunya format data terstruktur — YAML, CSV, XML, dan TOML masing-masing lahir dari kebutuhan berbeda, dan konversi di antaranya adalah kebutuhan praktis sehari-hari, terutama saat menyambungkan sistem lama berbasis XML dengan API JSON modern.

Kegunaan masing-masing format

  • YAML — memakai indentasi alih-alih kurung kurawal, standar untuk pipeline CI/CD, Kubernetes, dan Docker Compose.
  • CSV — datar dan tabular, format paling umum untuk spreadsheet dan alat analisis data.
  • XML — lebih tua, memiliki atribut dan namespace, masih menjadi tulang punggung layanan SOAP dan banyak sistem instansi/perusahaan lama di Indonesia.
  • TOML — dirancang agar tidak ambigu dan mudah ditulis manual, dikenal lewat Cargo.toml di ekosistem Rust.

Apa yang bisa hilang saat konversi

Tidak semua konversi sama amannya. JSON → CSV menghilangkan struktur bersarang: objek dalam dan array dengan panjang berbeda-beda tidak cocok dengan tabel berbentuk persegi panjang, sehingga harus diratakan (flatten) atau disederhanakan lebih dulu. Sebaliknya, JSON ↔ YAML dan JSON ↔ TOML hampir selalu tanpa kehilangan data, karena keduanya mendukung struktur bersarang sama seperti JSON.

Jebakan penebakan tipe otomatis di YAML

Parser YAML mencoba menebak tipe nilai tanpa tanda kutip: version: 1.20 bisa berubah menjadi angka 1.2, kehilangan angka nol di akhir, dan teks NO bisa berubah menjadi boolean false menurut aturan YAML 1.1, yang memperlakukan yes/no sebagai literal boolean. Nilai yang harus tetap berupa teks sebaiknya diberi tanda kutip secara eksplisit sebelum dikonversi ke JSON.

Kegunaan praktisnya

  • Memindahkan konfigurasi dari alat yang mengharapkan YAML ke alat yang mengharapkan JSON, atau sebaliknya.
  • Mengekspor data dari API ke CSV untuk diperiksa cepat di spreadsheet.
  • Menghubungkan sistem lama berbasis XML/SOAP dengan API JSON modern.
Coba alat