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.tomldi 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.