Langkau ke kandungan utama

Penukar YAML ke JSON percuma

Tukar YAML ke JSON dan JSON ke YAML dalam kedua-dua arah. Tampal dalam mana-mana format dan dapatkan output yang ditukar dengan segera — tiada muat naik pelayan diperlukan.

Berfungsi luar talian selepas dimuatkan
Output JSON
Output akan muncul di sini…

Kegunaan biasa

  • Tukarkan YAML kepada JSON untuk Manifest KubernetesTukarkan Kubernetes YAML kepada JSON (atau balik) untuk alatan, skrip pengesahan atau gunakan terus melalui API.
  • Penukaran Docker Compose YAML / JSONTukarkan docker-compose.yml kepada JSON untuk pemeriksaan atau kembali kepada YAML selepas perubahan tersusun.
  • Penukaran Konfigurasi Saluran CI/CDTukarkan Tindakan GitHub, GitLab CI, CircleCI dan konfigurasi saluran lain antara format YAML dan JSON.
  • Penukaran Fail Konfigurasi AplikasiTukarkan fail konfigurasi apl antara YAML dan JSON — berguna apabila menukar rangka kerja atau perkongsian config merentas alatan.
  • Penukaran Spesifikasi OpenAPI / SwaggerTukarkan spesifikasi OpenAPI 3.x atau Swagger 2.0 API antara format YAML dan JSON. Kedua-dua format sah dan dapat ditukar.

Cara ia berfungsi

Kedua-dua arah penukaran — YAML kepada JSON dan JSON kepada YAML — berjalan sepenuhnya dalam pelayar anda menggunakan penghurai dan pemancar tulisan tangan dibina ke dalam halaman, tanpa pustaka YAML pihak ketiga dan tanpa pelayan terlibat. Logik itu tinggal dalam satu modul TypeScript (lib/yamljson.ts) yang mengendalikan pemetaan, jujukan, skalar, rentetan bertanda petik, dan pembuangan komen sebaris.

  1. 1
    Input diprapros baris demi baris
    Untuk input YAML, penghurai memecah teks kepada baris, membuang komen sebaris (menjejaki state petikan untuk mengelak membuang # di dalam rentetan), mengukur kedalaman inden, dan membuang baris kosong — membina senarai token berstruktur sebelum sebarang penghuraian bermula.
  2. 2
    Penghurai turun rekursif membina pokok data
    Penghurai melalui senarai token menggunakan tahap inden untuk menentukan struktur. Ia mengenali item jujukan (- value), kunci pemetaan (key: value), dan blok bersarang. Skalar melalui langkah pemaksaan bertaip yang mengendalikan null, boolean, integer (menolak nilai sifar-hadapan seperti 007 untuk mengelak rosak data senyap), dan apung — dengan mod pilihan yang mengekalkan kata-telanjang YAML 1.1 seperti yes, no, on, dan off sebagai rentetan dan bukan menukarnya kepada boolean.
  3. 3
    Ciri YAML tidak disokong ditandakan, bukan dibuang senyap-senyap
    Sebelum mengeluarkan output, alat ini mengimbas sauh (&name), alias (*name), kunci gabung (<<:), skalar blok (| dan >), penanda berbilang-dokumen (---), dan kunci pemetaan pendua. Mana-mana ini mencetuskan amaran kelihatan dan bukan menghasilkan JSON salah secara halus.
  4. 4
    JSON disirikan atau YAML dikeluarkan, kemudian disediakan
    Untuk YAML→JSON, nilai dihurai dihantar kepada JSON.stringify dengan inden pilihan anda (2 ruang, 4 ruang, tab, atau diminify). Untuk JSON→YAML, pemancar tersuai melalui nilai JavaScript dihurai dan menghasilkan YAML berinden, memetik skalar rentetan hanya apabila perlu (cth. nilai mengandungi :, #, atau kelihatan seperti kata reserved). Output muncul serta-merta semasa anda menaip dan boleh disalin atau dimuat turun.

Alat berkaitan

Soalan lazim