Konverter JSON ↔ YAML
Konverter JSON ↔ YAML
Edit JSON dan YAML secara berdampingan dengan sinkronisasi dua arah secara instan. Mendukung penyesuaian indentasi, pengurutan kunci, dan pemisahan YAML multi-dokumen. Berguna untuk konfigurasi Kubernetes/Helm/CI dan debugging API.
🚀 Mulai cepat
- Tempel atau ketik JSON di editor kiri, dan YAML di kanan diperbarui secara otomatis.
- Anda juga dapat mengetik YAML di sebelah kanan, dan JSON di sebelah kiri diperbarui secara otomatis.
- Sinkronisasi sepenuhnya dua arah. Tidak diperlukan peralihan mode: edit salah satu sisi, dan sisi lainnya diperbarui secara instan.
- Gunakan toolbar bagian atas untuk mengatur indentasi JSON/YAML, mengaktifkan pengurutan kunci, dan mengaktifkan output YAML multi-dokumen.
- Tekan Tab di editor untuk menyisipkan lekukan alih-alih memindahkan fokus.
- Setiap editor memiliki tombol Salin dan Hapus di sudut kanan atas. Mengosongkan kedua sisi akan membersihkan kedua sisi.
📌 Skenario umum
- Pembuatan Kubernetes: mengonversi manifes sumber daya K8 antara YAML dan JSON untuk memeriksa struktur dari salah satu tampilan.
- Debugging nilai helm: konversikan value.yaml ke JSON untuk memeriksa tipe dan sarangnya di IDE Anda.
- Pipeline CI/CD: mengonversi cuplikan dengan cepat antara GitHub Actions (YAML) dan sistem CI yang menggunakan JSON.
- Debugging API: konversi payload JSON ke YAML untuk tampilan hierarki yang lebih jelas.
- Migrasi konfigurasi: konversi batch file konfigurasi antara YAML dan JSON.
- Pemformatan dan validasi: verifikasi sintaksis JSON/YAML melalui sinkronisasi dua arah, dengan lokasi kesalahan baris/kolom.
🧭 Saran penggunaan
- Indentasi JSON 2 spasi berfungsi untuk sebagian besar kasus; gunakan 4 spasi untuk file bersarang dalam atau nilai Helm.
- Aktifkan pengurutan kunci agar kunci objek ditampilkan dalam urutan alfabet. Ini memudahkan perbandingan perbedaan konfigurasi.
- Jika akar JSON adalah array, aktifkan YAML multi-dokumen untuk membagi setiap elemen menjadi dokumen terpisah (---), berguna untuk file K8 multi-sumber daya.
- Jika input tidak valid, editor menampilkan kesalahan dengan detail baris/kolom; sisi lain menyimpan konten valid terakhirnya.
- Untuk konten berukuran besar, tempel terlebih dahulu dan tunggu sinkronisasi, lalu lanjutkan pengeditan untuk menghindari konversi ulang yang berlebihan.
⚠️ Batasan & kompatibilitas
- Penguraian YAML mengikuti spesifikasi YAML 1.2. Beberapa perilaku spesifik YAML 1.1 (misalnya, konversi auto-boolean ya/tidak) mungkin berbeda.
- Nomor JSON mengikuti batas JavaScript IEEE 754. Bilangan bulat yang melebihi presisi aman 53-bit mungkin kehilangan akurasi.
- Jangkar dan alias YAML (&, *, <<) diperluas ke nilai konkret saat dikonversi ke JSON; referensi tidak dapat dipertahankan.
- Komentar YAML dihilangkan selama konversi karena JSON tidak mendukung komentar.
🔒 Privasi & keamanan
- Semua pemrosesan terjadi secara lokal di browser Anda. Data Anda tidak pernah meninggalkan perangkat Anda.
❓ Pertanyaan umum
Apa perbedaan antara JSON dan YAML, dan kapan saya harus menggunakannya?
JSON dan YAML dapat mewakili tipe data yang sama (objek, array, string, angka), namun sintaksisnya berbeda: • JSON menggunakan tanda kurung kurawal/kurung dan tanda kutip ganda, memiliki sintaksis yang lebih ketat, dan tidak mendukung komentar. • YAML menggunakan indentasi untuk hierarki, lebih mudah dibaca manusia, dan mendukung komentar, namun sensitif terhadap spasi. Aturan praktisnya: • Untuk API dan pertukaran data mesin-ke-mesin, pilihlah JSON. • Untuk konfigurasi Kubernetes/Helm/CI yang sering diedit manusia, pilihlah YAML. • Anda dapat mengonversi keduanya tanpa mengubah model data.
Mengapa ya/tidak/hidup/mati di YAML menjadi benar/salah setelah konversi?
Ini berasal dari perilaku YAML 1.1 lama, di mana yes/no/on/off/y/n dapat diurai sebagai boolean. Alat ini mengikuti YAML 1.2, di mana hanya benar/salah yang merupakan boolean. Jika Anda memerlukan nilai string, kutiplah (misalnya, "ya").
Mengapa komentar YAML hilang setelah dikonversi ke JSON?
JSON (RFC 8259) tidak mengizinkan komentar. Jadi komentar YAML tidak dapat dipertahankan dalam konversi YAML→JSON, dan komentar tersebut tidak dapat direkonstruksi saat mengkonversi kembali. Simpan file YAML asli jika komentar penting.
Apa arti --- di YAML?
--- adalah pemisah dokumen YAML, digunakan untuk menyimpan beberapa dokumen independen dalam satu file. Hal ini biasa terjadi di Kubernetes, di mana satu file dapat berisi definisi Deployment, Service, dan ConfigMap. Alat ini membaca YAML multi-dokumen sebagai larik JSON, dan juga dapat membagi kembali larik JSON menjadi --- dokumen YAML yang terpisah.
Apa yang harus saya lakukan jika presisi numerik hilang setelah konversi?
JavaScript menggunakan angka presisi ganda IEEE 754. Bilangan bulat aman berkisar dari -(2^53-1) hingga 2^53-1 (±9007199254740991). Bilangan bulat yang lebih besar (misalnya, ID Snowflake atau stempel waktu 64-bit) mungkin kehilangan presisi. Untuk mempertahankan nilai persisnya, simpan nilai tersebut sebagai string, seperti "9007199254740992".
Apa yang terjadi pada jangkar YAML (& dan *) selama konversi?
Jangkar (&nama) dan alias (*nama) adalah fitur penggunaan kembali khusus YAML. JSON tidak memiliki mekanisme referensi yang setara, sehingga alias diperluas menjadi salinan lengkap selama konversi. Ini adalah transformasi yang merugikan, dan struktur jangkar asli tidak dapat dipulihkan secara otomatis.