00

Jawaban singkatnya

  • YAML adalah bahasa serialisasi data berbasis Unicode yang menyajikan konfigurasi dan data pertukaran sebagai teks yang mudah dibaca, tetapi pemuatannya memerlukan pemroses yang mendukung versi dan tag yang digunakan.
  • Di Windows atau Mac, buka berkas .yaml atau .yml dengan editor teks. Di ponsel, gunakan editor teks yang dapat mengakses berkas tersebut. Membaca teks tidak memerlukan deserialisasi. Untuk memuatnya sebagai data program, gunakan pemroses yang mendukung versi YAML dan tag terkait. Jika pemuatan gagal, periksa indentasi dan sintaks. Satu aliran YAML dapat berisi beberapa dokumen; aplikasi yang hanya menerima satu dokumen harus menolak dokumen tambahan.
  • Risiko tinggi berkaitan dengan penguraian yang tidak aman. Pemrosesan tag dapat memicu eksekusi kode yang tidak diinginkan, sehingga deserializer harus menonaktifkan eksekusi kode secara bawaan dan menggunakan pemuatan aman. Referensi melingkar dan ekspansi alias dapat menimbulkan perulangan tanpa akhir atau pertumbuhan data secara eksponensial. Validasi masukan dan batasi kedalaman rekursi anchor. Teks yang terbaca atau pemuatan yang berhasil tidak membuktikan bahwa berkas aman.
01

Berkas YAML: cara membuka, kompatibilitas, dan penguraian aman

YAML merupakan singkatan rekursif dari “YAML Ain’t Markup Language”. Struktur dasarnya adalah pemetaan, urutan, dan skalar. Indentasi dapat menunjukkan hierarki, titik dua memisahkan kunci dan nilai, serta tanda hubung menandai item daftar. YAML juga mendukung tag tipe, anchor, dan alias. Jenis media yang terdaftar adalah application/yaml; .yaml merupakan ekstensi pilihan dan .yml juga diakui. Tidak ada angka ajaib tetap yang terdaftar.

Simpan file aslinya

Konversi YAML ke JSON tidak selalu mempertahankan seluruh informasi. Komentar, direktif, dan representasi alias dapat hilang. Kunci selain string, referensi melingkar, dan tipe yang tidak tersedia dalam JSON memerlukan penanganan tambahan. Periksa apakah hasil konversi mempertahankan data yang dibutuhkan.

02

Cara membukanya

Di Windows atau Mac, buka berkas .yaml atau .yml dengan editor teks. Di ponsel, gunakan editor teks yang dapat mengakses berkas tersebut. Membaca teks tidak memerlukan deserialisasi. Untuk memuatnya sebagai data program, gunakan pemroses yang mendukung versi YAML dan tag terkait. Jika pemuatan gagal, periksa indentasi dan sintaks. Satu aliran YAML dapat berisi beberapa dokumen; aplikasi yang hanya menerima satu dokumen harus menolak dokumen tambahan.

Cuma ingin melihat isinya

Di Windows atau Mac, buka berkas .yaml atau .yml dengan editor teks. Di ponsel, gunakan editor teks yang dapat mengakses berkas tersebut. Membaca teks tidak memerlukan deserialisasi. Untuk memuatnya sebagai data program, gunakan pemroses yang mendukung versi YAML dan tag terkait. Jika pemuatan gagal, periksa indentasi dan sintaks. Satu aliran YAML dapat berisi beberapa dokumen; aplikasi yang hanya menerima satu dokumen harus menolak dokumen tambahan.

Perlu mengirimkannya

Konversi YAML ke JSON tidak selalu mempertahankan seluruh informasi. Komentar, direktif, dan representasi alias dapat hilang. Kunci selain string, referensi melingkar, dan tipe yang tidak tersedia dalam JSON memerlukan penanganan tambahan. Periksa apakah hasil konversi mempertahankan data yang dibutuhkan.

03

Keamanan file

Risiko tinggi berkaitan dengan penguraian yang tidak aman. Pemrosesan tag dapat memicu eksekusi kode yang tidak diinginkan, sehingga deserializer harus menonaktifkan eksekusi kode secara bawaan dan menggunakan pemuatan aman. Referensi melingkar dan ekspansi alias dapat menimbulkan perulangan tanpa akhir atau pertumbuhan data secara eksponensial. Validasi masukan dan batasi kedalaman rekursi anchor. Teks yang terbaca atau pemuatan yang berhasil tidak membuktikan bahwa berkas aman.

Berhenti kalau menemukan hal ini

Pengirim tidak dikenal, nama yang berakhir dengan dua ekstensi, atau isi yang tidak cocok dengan ekstensinya — periksa dulu sebelum dibuka.

04

Soal konversi

Konversi YAML ke JSON tidak selalu mempertahankan seluruh informasi. Komentar, direktif, dan representasi alias dapat hilang. Kunci selain string, referensi melingkar, dan tipe yang tidak tersedia dalam JSON memerlukan penanganan tambahan. Periksa apakah hasil konversi mempertahankan data yang dibutuhkan.

Sebelum mengonversi

Konversikan salinannya, jangan file aslinya, lalu bandingkan kualitas, metadata, dan tata letaknya dengan file awal.

05

Pertanyaan umum

Apa itu berkas YAML dan apa kegunaannya?

YAML adalah bahasa serialisasi data yang mudah dibaca manusia dan dapat digunakan lintas bahasa pemrograman. YAML umum dipakai untuk berkas konfigurasi dan pertukaran data, dengan struktur pemetaan, urutan, dan skalar.

Bagaimana cara membuka berkas YAML di Windows?

Buka berkas .yaml atau .yml dengan editor teks untuk membacanya. Untuk memuat isinya sebagai data, pemroses YAML aplikasi harus mendukung versi dan tag yang digunakan.

Bagaimana cara membuka berkas YAML di Mac?

Gunakan editor teks untuk membuka berkas .yaml atau .yml dan memeriksa isinya. Pemuatan sebagai data juga memerlukan pemroses YAML yang kompatibel.

Bagaimana cara membuka berkas YAML di ponsel?

Gunakan editor teks yang dapat mengakses berkas di ponsel. YAML berupa teks biasa sehingga editor dapat menampilkan isinya; pemuatan sebagai data memerlukan pemroses YAML yang kompatibel.

Bagaimana cara memeriksa indentasi dan sintaks YAML saat berkas gagal dimuat?

Periksa indentasi, pemisah kunci dan nilai, serta penanda daftar dengan pemroses yang kompatibel. Pemuatan juga dapat gagal karena tag tidak dapat diresolusikan, dikenali, atau dikonstruksi menjadi tipe data lokal. Aplikasi satu dokumen harus menolak dokumen tambahan.

Apa perbedaan ekstensi YAML dan YML?

Keduanya diakui sebagai ekstensi YAML. RFC 9512 memilih .yaml sebagai ekstensi utama dan juga mengakui .yml. Memilih salah satunya tidak mengatasi ketidakcocokan versi atau tag.

Informasi apa yang dapat hilang saat konversi YAML ke JSON?

Komentar, direktif, dan representasi alias dapat hilang. Kunci selain string, referensi melingkar, dan tipe di luar JSON memerlukan penanganan tambahan, sehingga konversi tidak selalu tanpa kehilangan informasi.

Bagaimana cara mengurai berkas YAML tidak tepercaya dengan aman?

Gunakan pemuatan aman dengan eksekusi kode dinonaktifkan secara bawaan. Validasi masukan dan batasi kedalaman rekursi anchor. Pemrosesan tag, referensi melingkar, dan ekspansi alias menimbulkan risiko; langkah tersebut tidak menjamin keamanan mutlak.

Apa perbedaan boolean YAML 1.1 dan 1.2 yang memengaruhi kompatibilitas?

Penafsiran boolean implisit dapat berbeda antarversi. Untuk mengurangi masalah kompatibilitas, gunakan true atau false dalam bentuk huruf besar-kecil yang diizinkan skema inti YAML 1.2 dan periksa versi pemroses penerima.

Bagaimana cara kerja anchor dan alias YAML serta batas apa yang diperlukan?

Anchor menandai simpul, sedangkan alias merujuk ke simpul yang memiliki anchor. Referensi melingkar atau ekspansi alias dapat menyebabkan perulangan tanpa akhir atau pertumbuhan data eksponensial. Pemroses perlu memvalidasi masukan dan membatasi kedalaman rekursi anchor.

06

Format terkait

Sumber

YAML Ain’t Markup Language (YAML) Version 1.2, Revision 1.2.2 · YAML 官方规范 / YAML Language Development Team

RFC 9512: YAML Media Type · IETF / RFC Editor