Konverter JSON ke YAML
Ubah JSON menjadi YAML yang rapi dan mudah dibaca untuk Kubernetes, Docker Compose, GitHub Actions, atau Ansible, dengan kontrol penuh atas indentasi, gaya, dan tanda kutip.
Berjalan di browser AndaTanpa daftarTidak ada yang diunggah
Cara menggunakan JSON ke YAML
- Tempel JSON ke kotak kiri atau buka file
.json. - YAML muncul di kanan saat Anda mengetik.
- Pilih indentasi (2 atau 4 spasi) dan gaya: block (satu key per baris) atau flow (
{a: 1}/[x, y]) mulai dari level bersarang tertentu. - Pilih gaya tanda kutip dan centang Urutkan key jika Anda ingin urutan alfabetis.
- Salin atau unduh YAML-nya. JSON yang tidak valid dilaporkan dengan baris, kolom, dan kemungkinan penyebabnya.
Mengapa mengonversi JSON ke YAML?
JSON ideal untuk mesin dan API, tetapi YAML lebih mudah dibaca dan diedit manusia: tanpa kurung kurawal, tanpa tanda kutip wajib, dan mendukung komentar. Sebagian besar tool infrastruktur, termasuk Kubernetes, Helm, Docker Compose, GitHub Actions, GitLab CI, dan Ansible, dikonfigurasi dengan YAML, sedangkan data awal Anda (output API, kubectl get -o json, state Terraform) sering berupa JSON.
Gaya block vs. flow
Gaya block menaruh setiap key dan item daftar di barisnya sendiri dan merupakan pilihan umum untuk file konfigurasi. Gaya flow memakai {} dan [] inline, seperti JSON, dan menjaga struktur kecil di ujung tetap ringkas. “Flow mulai level 2” mempertahankan dua level teratas dalam gaya block dan meng-inline semua yang lebih dalam, cocok untuk daftar panjang berisi objek kecil seperti port atau env var.
Tanda kutip yang aman
String yang bisa salah dibaca parser YAML otomatis dikutip: nilai seperti 'no', 'on', '1.0', 'null', string yang diawali * atau &, dan string yang mengandung : . Pilih Selalu tunggal atau Selalu ganda jika style guide Anda mewajibkan semua string dikutip.
Jebakan YAML 1.1 vs 1.2
Konverter ini mengikuti YAML 1.2, spesifikasi terbaru. Banyak tool lama (PyYAML, Psych di Ruby, beberapa versi Kubernetes dan Ansible) masih membaca YAML 1.1, yang aturannya berbeda:
- Masalah Norwegia: di YAML 1.1,
country: noberartifalse, sehingga kode negara NorwegiaNOhilang. Hal yang sama berlaku untukyes,on,off,ydann. YAML 1.2 hanya menganggaptruedanfalsesebagai boolean. - Bilangan oktal:
0755adalah oktal di 1.1 tetapi desimal biasa di 1.2, yang memakai0o755. Kutip mode file agar aman. - Bilangan seksagesimal: di 1.1,
22:30bisa di-parse sebagai angka 1350. Kutip waktu dan pemetaan port seperti"8080:80".
Arah JSON → YAML otomatis mengutip string yang ambigu ('no', 'on', 'y'), sehingga YAML yang dihasilkan terbaca sama di kedua versi.
Pertanyaan yang sering diajukan
Apakah konversinya lossless?
Mengapa sebagian string dikutip dan yang lain tidak?
'yes', '123', atau string dengan karakter khusus. Sisanya dibiarkan polos agar mudah dibaca.Bisakah saya menambahkan komentar ke output?
# comments ke YAML setelah menyalinnya.