JSON ke YAML

Masukkan kode JSON dan dapatkan hasil berupa file YAML yang bersih: penjelajaran dua ruang yang benar, string dikutip hanya saat diperlukan, nilai berbaris ditampilkan sebagai skalar blok, serta opsi pengurutan kunci berdasarkan huruf. Sangat berguna untuk mengonversi respons API menjadi manifest Kubernetes, konfigurasi GitHub Actions, atau alat lain yang mendukung format YAML secara langsung.

Cara Mengonversi JSON ke YAML

  1. 1

    Memasukkan JSON

    Semua format JSON yang valid. Konverter ini secara akurat mempertahankan struktur semantiknya.

  2. 2

    Pilih indentasi dan gaya

    2 atau 4 ruang; gaya aliran untuk array atau objek yang kompak, atau gaya blok untuk teks berbentuk panjang.

  3. 3

    Opsional: urutkan kunci

    Pengurutan berdasarkan abjad memudahkan perbandingan perubahan antara dua versi YAML.

  4. 4

    Salin YAML

    Tempelkan ke dalam berkas `.yaml`/`.yml` Anda. Hasilnya merupakan format YAML versi 1.2 yang valid.

Contoh

Masukan:

{
  "name": "hyperion",
  "replicas": 3,
  "env": { "DEBUG": "false", "LOG_LEVEL": "info" },
  "command": ["php", "artisan", "queue:work"]
}

Hasil:

name: hyperion
replicas: 3
env:
  DEBUG: "false"
  LOG_LEVEL: info
command:
  - php
  - artisan
  - queue:work

Pemetaan Tipe

JSON YAML
string nilai skalar tanpa kutipan, terkutip, atau dalam bentuk blok sesuai kebutuhan
bilangan bulat 42
angka 3.14
boolean true / false
null null (atau ~, atau kosong)
array urutan blok dengan - atau aliran [...]
objek pemetaan blok menggunakan key: value atau aliran {...}

Ketika string perlu dikutip

YAML secara otomatis menganggap beberapa string sebagai nilai non-string. Nilai yang memiliki bentuk seperti ini perlu ditulis dalam tanda kutip:

Nilai Alasan penggunaan kutipan
yes, no, on, off Diperlakukan sebagai nilai boolean (kompatibilitas dengan YAML 1.1)
null, Null, NULL Ditafsirkan sebagai null
1.23 Ditafsirkan sebagai angka
2026-04-18 Ditafsirkan sebagai tanggal
Ruang kosong di awal/akhir Akan dihapus
Dimulai dengan *, &, ! Direktif YAML

Konverter secara otomatis menuliskan keterangan tersebut dalam tanda kutip, sedangkan bagian lainnya tidak ditulis dengan kutip agar lebih mudah dibaca.

Perbedaan desain antara YAML dan JSON

  • Komentar: YAML mendukung fitur ini (#), sedangkan JSON tidak.
  • Anker/alias: YAML mendukung referensi silang (&anchor/*alias); JSON hanya mengulangi data tersebut. Konversi tidak dapat menentukan nilai ini secara otomatis; tambahkan secara manual jika diperlukan.
  • String berbilang baris: YAML menggunakan skalar blok (| mempertahankan baris baru, sedangkan > menggabungkan baris-baris tersebut). Konverter menggunakan mekanisme ini untuk string yang panjang.
  • Representasi nol: YAML memungkinkan nilai null, ~, atau kosong. Konverter secara default menghasilkan nilai null.

Kesalahan Umum

  • “Masalah Norwegia” pada YAML 1.1. Tanpa tanda kutip, NO bernilai boolean false di YAML 1.1. Sebagian besar parser modern menggunakan YAML 1.2, yang hanya menganggap true/false sebagai boolean, tetapi beberapa alat lama masih bermasalah.
  • Ruang kosong di akhir nilai: YAML mempertahankannya pada skalar blok, tetapi menghilangkannya pada skalar biasa. Hal ini dapat menimbulkan kesulitan jika Anda tidak mengetahui format yang sebenarnya digunakan.
  • Tab dalam penjelajaran (indentation). YAML melarang penggunaan tab dalam penjelajaran; selalu gunakan spasi.
  • String tunggal yang sangat panjang: pecahkannya menjadi skalar blok agar lebih mudah dibaca; konverter akan melakukan hal ini secara otomatis ketika panjang melebihi ambang batas yang dapat dikonfigurasi.

Pertanyaan yang Sering Diajukan

String yang menyerupai jenis YAML lainnya (bool, angka, tanggal, null) perlu dikurung dengan tanda kutip agar tetap berupa string. String yang mengandung karakter khusus (ruang kosong di awal atau karakter yang tidak dapat dicetak) juga harus dikurung. Konverter akan mendeteksi secara otomatis dan memasukkan tanda kutip pada bagian yang memerlukannya.

Secara default menggunakan YAML 1.2. Jika Anda memerlukan kompatibilitas dengan YAML 1.1 (untuk alat lama atau beberapa sistem CI), aktifkan opsi “Kompatibilitas YAML 1.1”; konverter akan menambahkan tanda kutip tambahan untuk nilai-nilai yang merupakan nilai boolean menurut versi 1.1 (yes, no, on, off).

Ya. Gaya aliran ([1, 2, 3] dan { a: 1 }) tersedia untuk array dan objek berukuran kompak. Sebagian besar file konfigurasi lebih memilih gaya blok agar lebih mudah dibaca.

Ya, dengan satu catatan penting: file YAML untuk K8s sering mengandung komentar dan anchor yang tidak dapat diwakili oleh format JSON. Ubah bentuk data terlebih dahulu, lalu tambahkan komentar atau anchor secara manual.

Alat Terkait

Alat ini tersedia dalam bahasa lain