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

Output JSON

Cara menggunakan JSON ke YAML

  1. Tempel JSON ke kotak kiri atau buka file .json.
  2. YAML muncul di kanan saat Anda mengetik.
  3. Pilih indentasi (2 atau 4 spasi) dan gaya: block (satu key per baris) atau flow ({a: 1}/[x, y]) mulai dari level bersarang tertentu.
  4. Pilih gaya tanda kutip dan centang Urutkan key jika Anda ingin urutan alfabetis.
  5. 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: no berarti false, sehingga kode negara Norwegia NO hilang. Hal yang sama berlaku untuk yes, on, off, y dan n. YAML 1.2 hanya menganggap true dan false sebagai boolean.
  • Bilangan oktal: 0755 adalah oktal di 1.1 tetapi desimal biasa di 1.2, yang memakai 0o755. Kutip mode file agar aman.
  • Bilangan seksagesimal: di 1.1, 22:30 bisa 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?
Ya. Setiap dokumen JSON adalah YAML 1.2 yang valid, dan YAML yang dihasilkan di-parse kembali menjadi data yang persis sama. Anda bisa memeriksanya dengan menekan Tukar.
Mengapa sebagian string dikutip dan yang lain tidak?
Dengan Hanya jika perlu, tanda kutip hanya ditambahkan jika nilai tanpa kutip akan berubah arti, misalnya 'yes', '123', atau string dengan karakter khusus. Sisanya dibiarkan polos agar mudah dibaca.
Bisakah saya menambahkan komentar ke output?
JSON tidak memiliki komentar, jadi tidak ada yang bisa dikonversi, tetapi Anda bisa menambahkan # comments ke YAML setelah menyalinnya.
Apakah urutan key berubah?
Tidak. Key tetap mengikuti urutan JSON kecuali Anda mencentang Urutkan key.
Apakah data saya tetap privat?
Ya. Konverter berjalan di browser Anda dan tidak membuat request jaringan apa pun dengan input Anda.

Tools terkait