Langsung ke konten utama

Konverter YAML ke JSON gratis

Konversi YAML ke JSON dan JSON ke YAML dalam dua arah. Tempel dalam format apa pun dan dapatkan output yang dikonversi secara instan — tanpa unggahan server.

Berfungsi offline setelah dimuat
Output JSON
Output akan muncul di sini…

Penggunaan umum

  • Konversi YAML ke JSON untuk Manifest KubernetesUbah YAML Kubernetes ke JSON (atau sebaliknya) untuk alat, skrip validasi, atau menerapkan langsung melalui API.
  • Konversi YAML / JSON Docker ComposeUbah docker-compose.yml ke JSON untuk inspeksi, atau kembali ke YAML setelah pengeditan terprogram.
  • Konversi Konfigurasi Pipeline CI/CDUbah GitHub Actions, GitLab CI, CircleCI, dan konfigurasi pipeline lainnya antara format YAML dan JSON.
  • Konversi File Konfigurasi AplikasiUbah file konfigurasi aplikasi antara YAML dan JSON: berguna saat mengganti kerangka kerja atau berbagi konfigurasi di seluruh alat.
  • Konversi Spesifikasi OpenAPI / SwaggerUbah spesifikasi API OpenAPI 3.x atau Swagger 2.0 antara format YAML dan JSON. Kedua format valid dan dapat dipertukarkan.

Cara kerja

Kedua arah konversi — YAML ke JSON dan JSON ke YAML — berjalan sepenuhnya di browser Anda menggunakan parser dan emitter tulisan tangan yang dibangun ke dalam halaman, tanpa library YAML pihak ketiga dan tanpa server yang terlibat. Logika ini berada dalam satu modul TypeScript (lib/yamljson.ts) yang menangani mapping, sequence, skalar, string berkutip, dan pelucutan komentar inline.

  1. 1
    Masukan diproses awal baris demi baris
    Untuk masukan YAML, parser membagi teks menjadi baris, melucuti komentar inline (melacak state kutip untuk menghindari melucuti # di dalam string), mengukur kedalaman indentasi, dan membuang baris kosong — membangun daftar token terstruktur sebelum penguraian apa pun dimulai.
  2. 2
    Parser descent rekursif membangun pohon data
    Parser menelusuri daftar token menggunakan tingkat indentasi untuk menentukan struktur. Ini mengenali item sequence (- value), kunci mapping (key: value), dan blok bersarang. Skalar melalui langkah koersi bertipe yang menangani null, boolean, bilangan bulat (menolak nilai nol-di-depan seperti 007 untuk menghindari kerusakan data diam-diam), dan float — dengan mode opsional yang mempertahankan barewords YAML 1.1 seperti yes, no, on, dan off sebagai string alih-alih mengonversinya menjadi boolean.
  3. 3
    Fitur YAML yang tidak didukung ditandai, bukan diam-diam dibuang
    Sebelum mengeluarkan keluaran, alat ini memindai anchor (&name), alias (*name), kunci merge (<<:), skalar blok (| dan >), penanda multi-dokumen (---), dan kunci mapping duplikat. Salah satu dari ini memicu peringatan yang terlihat alih-alih menghasilkan JSON yang secara halus salah.
  4. 4
    JSON diserialisasi atau YAML dikeluarkan, lalu dibuat tersedia
    Untuk YAML→JSON, nilai yang diurai diteruskan ke JSON.stringify dengan indentasi pilihan Anda (2 spasi, 4 spasi, tab, atau di-minify). Untuk JSON→YAML, emitter khusus menelusuri nilai JavaScript yang diurai dan menghasilkan YAML berindentasi, mengutip skalar string hanya bila perlu (misalnya, nilai yang mengandung :, #, atau terlihat seperti kata tercadang). Keluaran muncul instan saat Anda mengetik dan bisa disalin atau diunduh.

Alat terkait

Pertanyaan yang sering diajukan