YAML ile JSON arasındaki fark nedir?
JSON (JavaScript Object Notation), API'lerde ve programlar arası veri aktarımında yaygın; süslü parantez ve tırnaklarla katı bir sözdizimine sahiptir. YAML (YAML Ain't Markup Language) ise girinti tabanlı, insan gözüyle daha kolay okunan bir üst-kümedir; konfigürasyon dosyalarında (Docker Compose, Kubernetes, CI/CD hatları, uygulama ayarları) tercih edilir.
İkisi de aynı veri modelini (nesneler, diziler, metin, sayı, mantıksal değer) ifade ettiği için birbirine kayıpsız çevrilebilir. Bir config dosyasını YAML'dan JSON'a çevirmek, onu bir API'ye ya da JSON bekleyen bir araca beslerken; JSON'dan YAML'a çevirmek ise elle düzenlenecek ayar dosyalarını okunabilir kılarken işe yarar.
Sık karşılaşılan durumlar
- Girinti hatası: YAML'da girinti anlamlıdır; tab yerine boşluk kullanılmalı ve tutarlı olmalıdır.
- Sondaki virgül: JSON son elemandan sonra virgül kabul etmez; YAML'a çevirmeden önce temizleyin.
- Tırnak farkı: JSON yalnızca çift tırnak kullanır; YAML çoğu metni tırnaksız kabul eder.
- Yorumlar: YAML
#ile yorum destekler, JSON desteklemez; JSON'a çevirince yorumlar düşer. - Anchor/alias: YAML tekrar eden bloklar için referans (
&/*) kullanabilir; JSON'da bunlar açılır.