Konverter JSON ke YAML
Konversi JSON ke YAML dan YAML ke JSON di browser Anda, dengan dukungan anchor, merge key, dan file multi-dokumen. Tidak ada yang diunggah.
Cara menggunakan konverter JSON ke YAML
- Pilih arahnya: JSON → YAML atau YAML → JSON.
- Tempel data Anda, atau klik Buka file untuk memuat file
.json,.yaml, atau.yml(hingga 10 MB). - Pilih Indentasi (2 atau 4 spasi) dan, jika mau, Urutkan key secara alfabetis.
- Klik Konversi, atau terus saja mengetik: hasilnya diperbarui otomatis. Jika masukan tidak valid, pesan kesalahan menyebutkan baris dan kolom masalahnya.
- Salin atau unduh hasilnya. Balik arah mengirim hasil kembali ke masukan untuk dikonversi ke arah sebaliknya.
JSON dan YAML: data sama, sintaks berbeda
Dalam praktiknya YAML adalah superset dari JSON: setiap dokumen JSON menggambarkan data yang bisa dinyatakan YAML, dan YAML menambahkan sintaks yang lebih ringan sehingga lebih mudah dibaca dan diedit manusia. Itulah sebabnya manifest Kubernetes, file Docker Compose, pipeline GitHub Actions dan GitLab CI, playbook Ansible, dan spesifikasi OpenAPI biasanya ditulis dalam YAML, sedangkan API dan program saling bertukar JSON.
Data yang sama dalam kedua format:
{"name": "web", "ports": [80, 443], "env": {"DEBUG": false}}
name: web
ports:
- 80
- 443
env:
DEBUG: false
JSON → YAML
Konverter menulis YAML bergaya blok: satu key per baris, daftar dengan tanda hubung, dan objek bersarang diberi indentasi. String panjang tidak pernah dilipat, dan string multi-baris memakai gaya literal | agar baris barunya tetap persis. String yang bisa terbaca YAML sebagai tipe lain diberi tanda kutip: "yes", "1.0", atau "null" tetap menjadi string setelah konversi bolak-balik. Urutkan key mengurutkan key setiap objek secara alfabetis, sehingga dua file konfigurasi lebih mudah dibandingkan.
YAML → JSON
YAML dibaca dengan core schema YAML 1.2, aturan yang sama yang dipakai sebagian besar alat modern:
true/false, angka, dannull(atau~) menjadi nilai JSON;yes,no,on, danofftetap berupa string, sebagaimana diwajibkan spesifikasi YAML 1.2.- Anchor dan alias (
&base,*base) diperluas, dan merge key (<<: *base), yang umum di file CI, didukung. - File dengan beberapa dokumen yang dipisahkan
---menjadi array JSON dengan satu elemen per dokumen, dan sebuah pesan memberi tahu berapa banyak yang digabung. - Komentar dibuang, karena JSON tidak punya komentar.
.infdan.nantidak punya padanan di JSON; keduanya ditulis sebagai string"Infinity"dan"NaN".
Untuk melindungi browser Anda dari file “billion laughs”, yaitu beberapa alias yang berkembang menjadi miliaran nilai, dokumen yang berkembang menjadi lebih dari satu juta nilai akan ditolak.
Kesalahan YAML yang umum
- Tab untuk indentasi: YAML hanya mengizinkan spasi.
- Indentasi tidak konsisten: item dari daftar atau objek yang sama harus dimulai di kolom yang sama.
- Tidak ada spasi setelah titik dua:
key:valueadalah satu string, sedangkankey: valueadalah pasangan key-value. - Karakter khusus tanpa tanda kutip: nilai yang diawali
@, backtick,*,&, atau!, atau yang mengandung:atau#, harus diberi tanda kutip.
Pertanyaan yang sering diajukan
Apakah file saya dikirim ke server?
Tidak. Konversi berjalan di browser Anda, dan file konfigurasi, secret, atau data API Anda tidak pernah meninggalkan komputer Anda.
Mengapa “yes” dan “no” tidak dikonversi menjadi boolean?
Sejak YAML 1.2, hanya true dan false yang merupakan boolean. Parser YAML 1.1 yang lebih lama memperlakukan yes, no, on, dan off sebagai boolean, yang menyebabkan “Norway problem” yang terkenal (kode negara NO terbaca sebagai false). Alat ini mengikuti YAML 1.2.
Apakah komentar YAML dipertahankan?
Tidak. JSON tidak punya komentar, sehingga komentar hilang pada YAML → JSON. Saat mengonversi JSON → YAML, Anda bisa menambahkan komentar ke hasilnya setelahnya.
Bisakah saya mengonversi file Kubernetes dengan beberapa resource?
Bisa. Setiap resource yang dipisahkan --- menjadi satu elemen array JSON. Mengonversi array itu kembali ke YAML menghasilkan satu dokumen berisi daftar.
Apakah konverter mengubah urutan key?
Tidak, kecuali Anda mencentang Urutkan key: key tetap dalam urutan kemunculannya di masukan Anda. Satu-satunya pengecualian berasal dari JavaScript sendiri: key berupa bilangan bulat, seperti "10" atau "2", ditaruh paling depan, dalam urutan menaik.
Alat terkait
- JSON Formatter dan Validator JSON formatter dan validator gratis untuk merapikan, minify, dan memeriksa JSON di browser Anda, dengan kesalahan sintaksis yang dilaporkan per baris dan kolom.
- Konverter JSON ke CSV Konversi JSON ke CSV dan CSV kembali ke JSON di browser Anda. Key bersarang diratakan menjadi kolom, pemisah dideteksi otomatis, dan tidak ada yang diunggah.
- Konverter JSON ke XML Konversi JSON ke XML dan XML ke JSON di browser Anda, termasuk atribut, elemen berulang, dan CDATA. Tidak ada yang diunggah ke server.