Dönüşüm kayıpsız mı?
Hayır, ve hiçbir YAML–JSON dönüşümü değildir. Yorumların, anchor'ların, merge anahtarlarının, etiketlerin ve blok stilinin JSON'da karşılığı yoktur; bu yüzden ya çözülür ya düşerler. Buradaki fark, her birinin sessizce kaybolmak yerine sayılıp yerinin gösterilmesidir.
Sonuç aynı dosyaya geri döner mi?
JSON döner: JSON'ı YAML'a çevirip geri almak, test ettiğimiz üç gerçek dosyada da bayt bayt aynı JSON'ı verdi, sayı yazımları ve anahtar sırası dâhil. YAML dönmez: yorumlar gitmiştir, anchor ve merge anahtarları açılmıştır, tırnaklama değişir. Gidiş-dönüşten değerler sağ çıkar; yazdığınız hâliyle dosya çıkmaz.
yes değerim neden metne dönüştü?
Çünkü bu araç YAML 1.2 okur ve orada yes bir metindir. PyYAML, Ruby ve Go'nun yaml.v2'si YAML 1.1 okur; orada aynı kelime true'dur. Uyumsuzluk listesinin işaretlediği satırlar tam olarak bunlardır, böylece onları bozulan bir dağıtımda değil burada görürsünüz.
Sayılarımı yuvarlar mı?
Hayır. JSON, bir JavaScript sayısından değil kaynak metninizden yazılır; bu yüzden 9007199254740993 ve 1.10 tam olarak yazdığınız gibi basılır. Anahtar sırası da korunur: 10, 2 ve 1 gibi sayı görünümlü anahtarlar dâhil; düz bir JavaScript nesnesi bunları sessizce 1, 2, 10 diye yeniden sıralardı.
CloudFormation ya da Ansible dosyalarını açabilir mi?
Hata vermeden açar, !Ref ve !GetAtt kabul edilir, değerleri korunur. Ama etiketin kendisi düşer; yani elinize geçen şey veridir, dağıtabileceğiniz bir şablon değil.
Dosyam yükleniyor mu?
Hayır. Dönüşüm tarayıcı sekmenizde çalışır. Bu, çoğu sayfadan daha çok önem taşır: Kubernetes manifestleri ve CI iş akışları rutin olarak iç sunucu adları, registry adresleri, secret adları ve bazen secret'ların kendisini taşır.