Alat Pengembang

Konverter JSON ↔ YAML

Konversi JSON ke YAML atau YAML ke JSON secara lokal, dengan larik bersarang, teks dan angka yang tepat.

Nilai masukan

Konversi data YAML 1.2. Komentar dan format tidak dipertahankan. Batas masukan: 2 MiB.

Hasil Anda

Konversikan JSON dan YAML dengan jenis data yang dimaksud

Konversikan data kompatibel JSON antara JSON ketat dan sintaks inti YAML 1.2. Konverter mempertahankan token angka JSON, termasuk bilangan bulat besar, tanpa terlebih dahulu membulatkannya melalui angka JavaScript. Alat mengonversi nilai data, bukan format dokumen sumber atau skema konfigurasi aplikasi. Komentar, jangkar, dan pilihan penyajian YAML tidak bertahan dalam konversi JSON.

Langkah demi langkah

  1. Tempel teks atau buka berkas UTF-8 JSON, YAML, YML, atau TXT lokal. Pilih JSON → YAML atau YAML → JSON secara eksplisit; membuka berkas tidak mendeteksi arah.
  2. Pilih dua atau empat spasi dan jika perlu urutkan kunci objek. Proses masukan dan selesaikan kesalahan sintaks atau fitur yang tidak didukung. Pengurutan bersifat rekursif dengan urutan leksikal peka huruf besar/kecil; urutan larik tidak berubah.
  3. Periksa string, boolean, null, dan angka, lalu salin, cetak, atau unduh converted.yaml maupun converted.json. Jika masukan atau opsi diedit, proses lagi karena keluaran lama dihapus. Validasi berkas hasil konversi dengan aplikasi yang akan menggunakannya.

Pengaturan dan batas

Jenis dan aturan dokumen
Gunakan satu dokumen YAML 1.2 dengan kunci string unik dan nilai kompatibel JSON. Beri kutip pada pengenal yang tampak numerik seperti "00123"; YAML 00123 tanpa kutip menjadi angka 123. Teks polos yes, on, dan tanggal ISO tetap berupa string berdasarkan aturan inti.
Alias dan fitur yang tidak didukung
Alias tanpa siklus diperluas menjadi nilai berulang. Siklus, kunci duplikat, kunci bukan string, tag yang tidak didukung, dan angka tidak hingga ditolak. Kunci penggabungan YAML tidak diterapkan: <<: *base menjadi properti "<<" biasa, jadi perluas dahulu bidang yang ingin diwariskan.
Ukuran dan kompleksitas
Masukan dibatasi hingga 2 MiB teks UTF-8: 2,097,152 bita. Keluaran dibatasi hingga 8 MiB. Pemrosesan juga berhenti jika melebihi 128 tingkat penyarangan, 200,000 simpul nilai, atau 100 kunjungan alias; berkas kecil pun dapat melampaui batas itu.

Contoh pengerjaan

Unduh types-example.json lalu pilih JSON → YAML dengan indentasi dua spasi dan pengurutan nonaktif. Konversikan dan bandingkan types-example.yaml. id dan word bertanda kutip tetap string, enabled tetap false, serta retries dan large tetap angka.

Masukan contoh

{"id":"00123","word":"yes","enabled":false,"retries":3,"large":9007199254740993}

Hasil yang diharapkan

"id": "00123"
"word": "yes"
"enabled": false
"retries": 3
"large": 9007199254740993

Sekarang buka types-example.yaml, ubah secara eksplisit ke YAML → JSON, dan proses lagi. id seharusnya tetap "00123" dan bilangan bulat besar tetap 9007199254740993. Hapus kutip di sekitar 00123 dalam YAML lalu ulangi: nilainya menjadi angka 123. Perbedaan itu penting bagi pengenal meskipun kedua berkas valid.

Pertanyaan dan pemecahan masalah

Mengapa JSON berkunci duplikat gagal di sini tetapi bisa diformat di tempat lain?

JSON Formatter dapat memperingatkan dan mempertahankan kunci duplikat. Konverter ini menolaknya karena konversi menjadi pemetaan bisa mengubah maknanya. Tentukan nilai yang seharusnya ada pada sumber dan hapus duplikat sebelum konversi.

Apakah komentar dan pewarisan YAML dipertahankan?

JSON tidak memiliki komentar atau jangkar. Alias diperluas, dan kunci penggabungan diekspor secara literal alih-alih diterapkan sebagai pewarisan. Perluas data yang dimaksud dan tinjau hasil; konversi bukan penulisan ulang yang setia pada setiap fitur YAML.

Apakah angka besar aman di aplikasi tujuan?

Konverter mempertahankan penulisan numerik yang didukung dan nilai bilangan bulat besar, tetapi program berikutnya mungkin mengurainya dengan presisi lebih rendah. Gunakan string bertanda kutip jika nilai yang tampak numerik merupakan pengenal, dan uji parser aplikasi tujuan.