YAML dijelaskan + JSON vs. YAML
Diperbarui 2026-07-06
Jika Anda pernah menyunting berkas konfigurasi untuk alat modern — Docker Compose, GitHub Actions, Kubernetes — Anda sudah menulis YAML. Ia dirancang menjadi format data yang paling mudah dibaca manusia, tetapi keterbacaan itu datang dengan beberapa sudut tajam. Panduan ini menjelaskan cara kerja YAML, jebakan yang perlu diwaspadai, dan bagaimana ia dibandingkan dengan JSON.
Apa itu YAML
YAML (“YAML Ain’t Markup Language”) adalah format data untuk merepresentasikan hal yang sama dengan JSON — pasangan kunci/nilai, daftar, dan struktur bersarang — tetapi dengan sintaks yang disetel agar mudah dibaca dan ditulis orang dengan tangan. Ia jadi pilihan utama untuk berkas konfigurasi justru karena mudah dipindai mata.
name: RunWebTools active: true tags: - json - free address: city: London postcode: null
Cara sintaks bekerja
Tiga gagasan mencakup sebagian besar YAML:
- Indentasi menunjukkan struktur. Penyarangan diungkapkan dengan spasi, bukan kurung kurawal. Item pada tingkat indentasi yang sama adalah saudara.
- Pasangan kunci/nilai memakai
key: value(spasi setelah titik dua wajib). - Daftar memakai
-di awal tiap item.
Jebakan-jebakannya
Spasi, jangan pernah tab
YAML melarang karakter tab untuk indentasi — mereka menyebabkan galat penguraian. Atur editor Anda agar menyisipkan spasi, karena keduanya tampak identik di layar tetapi hanya satu yang sah.
“Masalah Norwegia”
YAML mencoba menebak tipe, yang sesekali menjadi bumerang. Tanpa tanda kutip, no, yes, on, dan off menjadi boolean — terkenal, kode negara NO untuk Norwegia bisa berubah menjadi false. Bila yang Anda maksud adalah string harfiah, beri tanda kutip: "NO".
Kesalahan indentasi itu senyap
Karena spasi kosong membawa makna, satu baris yang salah sejajar saja bisa mengubah struktur tanpa galat apa pun — berkas itu hanya terurai menjadi sesuatu yang tak Anda maksudkan. Melewatkannya melalui validator YAML yang memancarkan ulang hasil penguraian adalah cara tercepat melihat apa yang sebenarnya dipahami YAML.
YAML vs. JSON
Keduanya bisa merepresentasikan data yang sama — nyatanya, setiap JSON yang sah juga YAML yang sah. Pertimbangannya:
- Keterbacaan: YAML menang untuk manusia — tanpa kurung kurawal atau tanda kutip, dan ia mendukung komentar (
#), yang tak dilakukan JSON. - Ketegasan: JSON menang untuk mesin — sintaksnya yang kaku menyisakan sedikit ruang untuk tebakan tipe dan kejutan indentasi yang diizinkan YAML.
- Kasus pakai: pakai YAML untuk berkas yang disunting orang (konfigurasi), dan JSON untuk data yang dipertukarkan program (API).
Perlu berpindah di antara keduanya? Format dan periksa keduanya dengan pemformat YAML dan pemformat JSON. Jika YAML terasa rewel, panduan kami tentang JSON dan galat umumnya adalah bacaan pendamping yang bagus.
Lainnya tentang Format data & pengodean
Lihat semua panduan Format data & pengodean →Alat yang disebut dalam panduan ini