Konverter JSON ke YAML
Tempel JSON di kiri, dapatkan YAML 1.2 dengan indentasi konsisten di kanan. Berjalan di browser Anda — tanpa unggah.
- Tempel JSON ke area teks kiri.
- Klik "Konversi ke YAML". Output YAML muncul di kanan.
- Salin hasilnya, atau klik Unduh untuk menyimpan sebagai data.yaml.
- Jika JSON tidak valid, pesan kesalahan menunjuk ke posisi yang bermasalah.
Apa fungsinya?
Mengonversi JSON ke YAML 1.2 setara. Objek menjadi mapping, array menjadi sequence, dan angka/boolean/null/string mempertahankan tipenya. Output menggunakan indentasi 2-spasi dan lebar baris 100-kolom secara default. Round-trip JSON → YAML → JSON menghasilkan data yang setara secara semantik, meskipun komentar dan nuansa urutan adalah keterbatasan sisi JSON yang perlu disadari.
Contoh
Input JSON:
{"name":"Ada","tags":["math","logic"],"active":true} Output YAML:
name: Ada
tags:
- math
- logic
active: true Kesalahan JSON umum dan cara memperbaikinya
JSON harus valid sebelum tool ini bisa mengonversinya ke YAML. Parser menunjuk baris dan kolom kegagalan apa pun — pola-pola ini menyumbang hampir setiap kesalahan "JSON tidak valid".
- Koma trailing. `{"a": 1, "b": 2,}` tidak valid. JSON tidak mengizinkan koma setelah elemen terakhir objek atau array.
- Kutip tunggal. `{'a': 1}` tidak valid. String dan kunci JSON harus menggunakan kutip ganda.
- Kunci tanpa kutip. `{a: 1}` tidak valid — literal objek JavaScript membolehkan, tetapi JSON tidak. Bungkus kunci dalam kutip ganda.
- Komentar. Komentar // atau /* */ tidak diperbolehkan dalam JSON ketat. Hapus sebelum konversi, atau gunakan output YAML (yang mendukung komentar #) dan tempel kembali setengah-manual.
- Kutip pintar. Salin-tempel dari pengolah kata kadang mengganti " dengan kutip melengkung — JSON menolaknya. Ketik ulang atau tempel melalui editor teks polos.
- NaN / Infinity. JSON tidak punya representasi untuk NaN, Infinity, atau -Infinity. Jika data Anda berisi mereka, pilih: serialisasi sebagai null (kehilangan informasi) atau sebagai string "NaN" (mempertahankan maksud tetapi mengubah tipe).
Pertanyaan yang sering diajukan
Mengapa output YAML saya tidak punya komentar?
JSON tidak punya sintaks komentar, jadi tidak ada komentar untuk dibawa. Jika Anda ingin YAML berkomentar, edit output secara manual setelah konversi. Beberapa tim mengkodekan komentar sebagai field `_comment` di JSON, tetapi itu menjadi kunci biasa di YAML — bukan komentar sebenarnya.
Apakah urutan kunci saya akan dipertahankan?
Ya. Urutan kunci objek JSON dipertahankan sebagai urutan mapping YAML — sama seperti JSON.parse + JSON.stringify di browser modern, yang mempertahankan urutan penyisipan. Jika butuh sorting alfabetis, urutkan JSON dulu.
Bagaimana struktur bersarang dalam diformat?
Output YAML menggunakan indentasi 2-spasi per level, dengan sequence dalam gaya blok (satu item per baris, dengan prefiks `-`). Objek dan array kosong dirender sebagai `{}` dan `[]` masing-masing — gaya flow, karena gaya blok akan ambigu untuk kosong.
Apakah ini mendukung data biner?
JSON tidak punya tipe biner native, jadi biner biasanya sudah dikodekan sebagai string base64 di input. Output YAML mempertahankan string itu. Jika Anda benar-benar butuh format biner YAML (`!!binary`), konversi tidak menghasilkannya — pertahankan pendekatan string base64.
Apakah ini aman untuk JSON sensitif seperti kunci API?
Ya. Semua berjalan di browser Anda. Input Anda di-parse dan dikonversi oleh JavaScript di halaman ini; tidak ada server yang dihubungi. Verifikasi di alat developer browser — nol permintaan jaringan saat klik Konversi.
Bisakah saya round-trip JSON → YAML → JSON?
Untuk data, ya — semantik dipertahankan. Untuk teks setara byte yang persis, tidak — spasi putih dan kutipan dinormalisasi. Jika butuh bentuk kanonik stabil, jalankan JSON.stringify dengan kunci terurut sebelum tempel.