YAML dan JSON: pertahankan data, bukan tampilan berkas
Konfigurasi YAML mungkin perlu menjadi JSON agar dapat dipertukarkan dengan layanan. Kemiripan struktur tidak berarti setiap bagian sumber memiliki padanan.
Tipe lebih penting daripada tampilan
String "003" bukan angka 3, dan "false" dalam tanda kutip bukan boolean false. Simpan pengenal sebagai teks jika nol awal atau penulisan persisnya penting.
Konverter menangani YAML 1.2 Core yang sesuai dengan JSON. Jangan otomatis membawa asumsi sistem lama: kata tertentu bisa ditafsirkan berbeda oleh versi lain.
Referensi: YAML 1.2.2 — Core types and comments as presentation
Komentar ditujukan kepada pemelihara
Komentar YAML membantu pemeliharaan, tetapi bukan bagian data. Komentar tidak masuk JSON di sini dan tidak muncul lagi saat dikonversi balik.
Simpan sumber berkomentar dan perlakukan hasil sebagai ekspor data. Warna sintaks serta urutan baris yang familier tidak membuktikan tipe masih benar.
Referensi: YAML 1.2.2 — Core types and comments as presentation
Penolakan mencegah kehilangan diam-diam
Alur menerima satu dokumen dengan kunci teks. Kunci duplikat, alias, anchor, tag khusus, dan fitur di luar pemetaan yang didukung ditolak.
Angka di luar rentang representasi ditolak, bukan dibulatkan diam-diam. Gunakan teks untuk pengenal panjang. Konversi tidak menjalankan konfigurasi atau memastikan layanan penerima menerimanya.
Contoh: tiga nilai dengan tipe berbeda
code: "003", enabled: false, dan retries: 3 menghasilkan string "003", boolean false, serta angka 3. Nol bertahan karena code adalah teks, bukan karena alat menebak itu pengenal.
Menambahkan # staging sebelumnya tidak membuat properti JSON. Saat kembali ke YAML, tanda kutip dan format boleh berubah sementara nilai dan tipe setara; komentar asli tidak kembali.