Cara konversi JSON ke YAML
- Tempel JSON atau buka file; YAML muncul saat Anda mengetik. Pilih indentasi 2 atau 4 spasi.
- Untuk arah sebaliknya, ubah arah menjadi YAML → JSON lalu tempel YAML.
- Salin hasilnya atau unduh sebagai file
.yamlatau.json.
JSON vs YAML
| JSON | YAML | |
|---|---|---|
| Struktur | kurung kurawal {} dan kurung siku [] | indentasi dan item list - |
| String | selalu dalam tanda kutip ganda | tanda kutip hanya jika perlu |
| Komentar | tidak diizinkan | # comment |
| Teks multi-baris | escape \n | literal block dengan | |
| Penggunaan umum | API dan pertukaran data | file konfigurasi |
YAML 1.2 adalah superset dari JSON, sehingga dokumen JSON sudah merupakan YAML yang valid. Konverter ini menulisnya dalam block style yang lebih mudah dibaca.
Nilai yang wajib diberi tanda kutip di YAML
Beberapa kata tanpa tanda kutip berubah tipe di YAML: yes, no, on, dan off adalah boolean di parser YAML 1.1, 007 dan 1e3 adalah angka, sedangkan null atau ~ berarti null. Inilah “Norway problem” yang terkenal: kode negara NO berubah menjadi false jika tidak diberi tanda kutip. Konverter ini otomatis memberi tanda kutip pada string seperti itu, sehingga YAML terbaca kembali sebagai data yang persis sama.
YAML yang didukung untuk YAML → JSON
Parser memahami YAML yang biasa dipakai di file konfigurasi dan API: block mapping dan list, string biasa, berkutip tunggal, dan berkutip ganda, blok multi-baris | dan >, koleksi inline [ ] dan { }, komentar, serta penanda dokumen ---. Anchor (&), alias (*), dan tag kustom dilaporkan sebagai tidak didukung, lengkap dengan nomor barisnya. Hanya dokumen pertama dari file multi-dokumen yang dikonversi.
Pertanyaan yang sering diajukan
Apakah YAML merupakan superset dari JSON?
YAML 1.2 dirancang sebagai superset dari JSON, sehingga hampir semua file JSON juga merupakan YAML yang valid. Sebaliknya tidak berlaku: YAML memiliki komentar, anchor, dan blok multi-baris yang tidak ada di JSON.
Apakah komentar tetap ada saat mengonversi YAML ke JSON?
Tidak. JSON tidak mendukung komentar, sehingga komentar dihapus. Key, nilai, dan urutannya tetap dipertahankan.
Mengapa YAML saya ditolak?
Penyebab umumnya adalah tab yang dipakai untuk indentasi (YAML hanya mengizinkan spasi), item dalam list atau mapping yang sama yang tidak dimulai di kolom yang sama, dan spasi yang hilang setelah titik dua. Pesan error menunjukkan barisnya.
Bagaimana tipe nilai YAML ditentukan di JSON?
Mengikuti core schema YAML 1.2: true/false menjadi boolean, null dan ~ menjadi null, dan angka biasa menjadi angka JSON, sedangkan kata seperti yes tetap menjadi string. Beri tanda kutip pada kode seperti "007" di YAML Anda agar tetap berupa teks.