Penukar YAML ke JSON
Tampal YAML (manifest Kubernetes, Docker Compose, konfigurasi CI) dan dapatkan JSON yang kemas serta-merta. Ralat menunjukkan baris yang tepat dengan penunjuk.
Berjalan dalam pelayar andaTanpa pendaftaranTiada apa dimuat naik
Cara menggunakan YAML ke JSON
- Tampal YAML ke dalam kotak kiri atau buka fail
.yaml/.yml. - JSON muncul di sebelah kanan semasa anda menaip. Pilih 2 ruang, 4 ruang atau tab untuk output.
- Tandakan Isih kunci untuk menyusun kunci mengikut abjad. Ini membantu semasa membandingkan konfigurasi.
- Jika YAML tidak sah, bar status menunjukkan baris dan lajur, dan baris yang bermasalah muncul di bawahnya dengan penanda
^. - Salin atau muat turun JSON, atau tekan Tukar untuk menukarnya kembali ke YAML.
Cara YAML dipetakan ke JSON
JSON ialah subset YAML 1.2, jadi setiap mapping YAML menjadi objek JSON, setiap sequence menjadi array, dan skalar menjadi rentetan, nombor, boolean atau null. Ciri khusus YAML diselesaikan semasa penukaran:
- Komen (
# …) dibuang, kerana JSON tiada komen. - Anchor dan alias (
&base,*base,<<: *base) dikembangkan menjadi salinan penuh. - Timestamp seperti
2024-01-02menjadi rentetan ISO 8601. - Rentetan berbilang baris (blok literal
|dan folded>) menjadi rentetan biasa dengan escape\n.
YAML berbilang dokumen
Satu fail boleh memegang beberapa dokumen YAML yang dipisahkan oleh ---, seperti lazim dalam manifest Kubernetes. JSON tiada padanannya, jadi penukar memulangkan array JSON dengan satu elemen bagi setiap dokumen dan menyatakannya dalam bar status. --- tunggal di hujung diabaikan.
Perangkap YAML 1.1 lwn 1.2
Penukar ini mengikut YAML 1.2, spesifikasi semasa. Banyak alat lama (PyYAML, Psych Ruby, sesetengah versi Kubernetes dan Ansible) masih membaca YAML 1.1, yang peraturannya berbeza:
- Masalah Norway: dalam YAML 1.1,
country: nobermaksudfalse, jadi kod negara NorwayNOhilang. Begitu juga denganyes,on,off,ydann. YAML 1.2 hanya menganggaptruedanfalsesebagai boolean. - Nombor oktal:
0755ialah oktal dalam 1.1 tetapi perpuluhan biasa dalam 1.2, yang menggunakan0o755. Petik mod fail untuk keselamatan. - Nombor seksagesimal: dalam 1.1,
22:30boleh dihurai sebagai nombor 1350. Petik masa dan pemetaan port seperti"8080:80".
Arah JSON → YAML memetik rentetan taksa ('no', 'on', 'y') secara automatik, jadi YAML yang dihasilkan dibaca sama dalam kedua-dua versi.
Soalan lazim
Adakah YAML saya dimuat naik ke mana-mana?
Mengapa YAML saya gagal dengan “bad indentation”?
-) diinden secara konsisten di bawah kunci induknya.Apa yang berlaku kepada komen YAML?
Mengapa <code>no</code> kekal sebagai rentetan?
true/false ialah boolean. Penghurai YAML 1.1 yang lebih lama akan menukar no, yes, on dan off menjadi boolean (“masalah Norway”).Bolehkah saya menukar manifest Kubernetes dengan beberapa sumber?
--- menjadi satu elemen dalam array JSON output, sedia untuk jq atau kubectl apply -f -, yang juga menerima senarai JSON.