Konverter YAML ke JSON
Tempel YAML di kiri, dapatkan JSON di kanan. Berjalan sepenuhnya di browser Anda — tanpa unggah, tanpa pendaftaran.
- Tempel YAML Anda ke area teks kiri.
- Klik "Konversi ke JSON". Output muncul di kanan.
- Salin hasilnya, atau klik Unduh untuk menyimpan sebagai data.json.
- Jika konversi gagal, pesan kesalahan menunjuk ke baris yang bermasalah.
Apa fungsinya?
Mengonversi dokumen YAML 1.2 ke JSON setara. Mapping menjadi objek, sequence menjadi array, skalar diketik sebagai angka, boolean, null, atau string menurut aturan YAML. Anchor dan alias diselesaikan selama konversi. Stream multi-dokumen (dipisahkan oleh `---`) diratakan menjadi array dokumen.
Contoh
Input YAML:
name: Ada
tags:
- math
- logic
active: true Output JSON:
{
"name": "Ada",
"tags": [
"math",
"logic"
],
"active": true
} Kesalahan YAML umum dan cara memperbaikinya
YAML sensitif terhadap whitespace, sumber dari sebagian besar pesan "gagal mem-parse". Parser menunjuk baris dan kolom kegagalan — ini adalah pola yang harus dicari.
- Tab alih-alih spasi. YAML 1.2 melarang tab untuk indentasi. Ganti setiap tab dengan spasi — sebagian besar editor punya perintah "konversi tab ke spasi".
- Level indentasi campur. Anak yang diindentasi 2 spasi di bawah saudara yang diindentasi 4 spasi akan gagal. Pilih satu lebar indentasi (biasanya 2 spasi) dan gunakan secara konsisten di seluruh dokumen.
- String yang terlihat seperti boolean. Di YAML 1.1, `yes`, `no`, `on`, `off` di-parse sebagai boolean — mengejutkan dalam kode negara (jebakan "NO") dan string versi. Beri kutip nilai: `country: "NO"`. js-yaml default ke YAML 1.2 di mana ini diperbaiki, tapi input dunia nyata masih kena masalah.
- Karakter khusus tanpa kutip. Nilai yang dimulai dengan `- `, `:`, `?`, `&`, `*`, `!`, `|`, `>`, `\'`, `"`, `%`, `@`, `` ` `` perlu dikutip. Pola teraman: kutip string apa pun yang berisi tanda baca.
- Kutip tidak ditutup. `"` atau `\'` penutup yang hilang membuat parser memperlakukan sisa file sebagai bagian dari string sampai kutip berikutnya — biasanya menghasilkan nomor baris yang membingungkan jauh dari kesalahan sebenarnya.
- Anchor / alias tidak cocok. Alias (`*name`) yang merujuk anchor tidak terdefinisi (`&name`) menimbulkan kesalahan parse. Periksa bahwa setiap alias punya anchor yang cocok dideklarasikan lebih awal di dokumen.
Pertanyaan yang sering diajukan
Apakah ini mendukung kekhasan YAML 1.1 seperti "masalah Norwegia"?
Tidak — dan itu disengaja. Kami menggunakan js-yaml dalam mode YAML 1.2, di mana `NO` tanpa kutip di-parse sebagai string "NO" alih-alih boolean false. Jika Anda punya input yang bergantung pada boolean YAML 1.1, kutip secara eksplisit sebelum tempel. Mencampur dua spec dalam satu tool akan menerjemahkan data Anda secara salah dengan diam-diam.
Apa yang terjadi pada anchor dan alias YAML?
Mereka diselesaikan selama konversi. JSON yang dihasilkan berisi nilai yang diduplikasi sebagai data biasa — anchor tidak bertahan ke JSON karena JSON tidak punya sintaks referensi yang setara. Jika Anda butuh referensi dipertahankan, JSON bukan format target yang tepat.
Bisakah saya mengonversi file YAML multi-dokumen?
Ya. File YAML yang berisi beberapa dokumen yang dipisahkan oleh `---` dikonversi menjadi array JSON, dengan setiap dokumen menjadi satu elemen array. Jika file Anda dokumen tunggal, dikonversi menjadi satu objek atau nilai JSON di tingkat atas.
Mengapa string tanggal saya keluar dalam format ISO?
YAML punya tipe timestamp native (`2025-12-31`). Parser membaca sebagai Date JavaScript, yang diserialisasi ke JSON sebagai string ISO 8601. Untuk mempertahankan teks literal asli, kutip nilai di YAML Anda: `release: "2025-12-31"`.
Apakah ini aman untuk konfigurasi YAML sensitif?
Ya. Semua berjalan di browser Anda — input Anda di-parse dan dikonversi oleh JavaScript di halaman ini, tidak dikirim ke server mana pun. Tidak ada log, tidak ada analytics pada input itu sendiri, tidak ada retensi. Verifikasi di alat developer browser: nol permintaan jaringan saat klik Konversi.
Berapa besar file YAML yang bisa ditangani?
Sampai batas memori browser Anda, tetapi UI textarea mulai terasa lambat di atas ~10 MB YAML. Untuk input lebih besar, konversi dalam potongan atau gunakan pustaka yang sama (js-yaml) di command line.