YAML ve JSON: dosya görünümünü değil veriyi koruyun

YAML yapılandırmasının bir hizmetle paylaşılmak için JSON olması gerekebilir. Yapıların benzemesi, özgün dosyadaki her şeyin eşdeğeri olduğu anlamına gelmez.

Görünümden önce değer türü gelir

"003" metni 3 sayısı değildir; tırnaklı "false" da false mantıksal değeri değildir. Baştaki sıfır veya tam yazım önemliyse kimlikleri metin tutun.

Dönüştürücü JSON uyumlu YAML 1.2 Core verisini işler. Eski bir sistemin yorumunu otomatik taşımayın; aynı kelime farklı sürümlerde farklı okunabilir.

Kaynaklar: YAML 1.2.2 — Core types and comments as presentation

Yorumlar veri değil bakım notudur

YAML yorumları dosyayı yöneten kişiye yardım eder, verinin parçası değildir. Burada JSON’a geçmez ve geri dönüşümde yeniden oluşmaz.

Açıklamalı kaynağı ayrı saklayıp çıktıyı veri dışa aktarımı olarak kullanın. Renkli sözdizimi ve alışılmış satır sırası doğru türlerin kanıtı değildir.

Kaynaklar: YAML 1.2.2 — Core types and comments as presentation

Desteklenmeyeni reddetmek sessiz kaybı önler

Akış metin anahtarlı tek belge kabul eder. Yinelenen anahtarlar, alias, anchor, özel etiketler ve desteklenen veri eşlemesi dışındaki özellikler reddedilir.

Temsil edilemeyen sayılar sessizce yuvarlanmaz, reddedilir. Uzun kimlikleri metin kullanın. Dönüşüm yapılandırmayı çalıştırmaz ve hedef hizmetin kabulünü doğrulamaz.

Örnek: bilinçli seçilmiş üç değer türü

code: "003", enabled: false ve retries: 3 satırları "003" metnini, false mantıksal değerini ve 3 sayısını üretir. Sıfırlar tahmin sayesinde değil, kod metin olduğu için kalır.

Öncesine # staging eklemek JSON özelliği oluşturmaz. YAML’a geri dönerken tırnak ve biçim değişse de değer ve türler eşdeğer kalabilir; özgün yorum geri gelmez.

Kaynaklar