YAML ke Penukar JSON
Penukaran YAML kepada JSON yang pantas dan selamat. Sesuai untuk fail konfigurasi dan analisis data.
Penukaran YAML kepada JSON yang pantas dan selamat. Sesuai untuk fail konfigurasi dan analisis data.
YAML dan JSON adalah format yang berkait rapat — JSON secara teknikalnya ialah subset ketat YAML 1.2 — dan menukar antara keduanya biasanya mudah. YAML menambah ciri mesra manusia yang JSON kekurangan: ulasan, rentetan berbilang baris tanpa melarikan diri, rujukan sauh dan alias, petikan yang lebih fleksibel dan struktur berasaskan lekukan yang menyerupai reka letak dokumen semula jadi. Ini menjadikan YAML pilihan popular untuk fail konfigurasi (manifes Kubernetes, aliran kerja GitHub Actions, Docker Compose) manakala JSON mendominasi muatan API.
Menukar YAML kepada JSON biasanya bermakna melepaskan tambahan mesra manusia YAML sebagai pertukaran untuk format yang dihuraikan oleh mesin dengan lebih mudah dan itulah lingua franca API HTTP. Ulasan digugurkan (JSON tiada). Rujukan anchor diselesaikan ke dalam nilai rujukannya. Rentetan berbilang baris runtuh kepada rentetan JSON standard dengan baris baharu terbenam.
Penukar ini menghuraikan YAML menggunakan js-yaml, pustaka YAML yang paling banyak digunakan dalam JavaScript. Output dijana menggunakan JSON.stringify dengan lekukan pilihan. Penukaran mengendalikan semua sintaks YAML 1.2 standard termasuk gaya aliran, gaya blok, skalar, jujukan, pemetaan, sauh, alias dan jenis teg standard.
Kebanyakan API dan banyak persekitaran pengaturcaraan mengharapkan JSON. Fail konfigurasi yang ditulis dalam YAML perlu ditukar kepada JSON apabila menyepadukan dengan kod atau perkhidmatan yang hanya menerima JSON. Alat untuk JSON juga lebih banyak: jq, Laluan JSON, Skema JSON dan ekosistem luas pengesah dan transformer semuanya menganggap input JSON.
JSON juga tidak jelas dalam cara YAML tidak. Fleksibiliti YAML mencipta kejutan penghuraian — rentetan seperti penghuraian 'tidak' sebagai palsu boolean dalam YAML 1.1, rentetan versi penghuraian sebagai terapung, ralat lekukan menghasilkan perubahan struktur senyap. Penukaran kepada JSON akan membekukan data kepada bentuk yang kurang samar-samar.
Tampal YAML, dapatkan JSON.
js-yaml melaksanakan YAML 1.2 dengan sokongan pilihan untuk kebiasaan YAML 1.1 (isu 'tidak'-sebagai-palsu, nombor perlapanan tanpa awalan 0o). Penghurai menghasilkan pokok objek JavaScript menggunakan jenis asli: nombor, rentetan, boolean, nol, tatasusunan dan objek biasa.
JSON.stringify mensiri pepohon objek kepada JSON. Lekukan pilihan menghasilkan output bercetak cantik; tanpa itu hasilnya adalah JSON baris tunggal padat. Nilai istimewa (NaN, Infinity, undefined) bukan JSON yang sah; penukar memaksa mereka untuk batal jika ada.
Kes tepi: Cap masa YAML menjadi rentetan ISO-8601 dalam JSON. Data binari YAML (base64-encoded) menjadi rentetan. Sauh dan alias diselesaikan menjadi nilai pendua dalam JSON, kerana JSON tidak mempunyai sintaks rujukan.