Konversi Format YAML ke JSON
Mengurai satu dokumen YAML dengan pustaka yaml (skema inti YAML 1.2) dan menghasilkan JSON berindentasi. Komentar dihapus, anchor dan alias diperluas, serta nilai seperti yes atau 2024-01-01 tetap berupa string.
Mengirim pengaturan yang ditulis dalam YAML ke API atau validator JSON Schema yang hanya menerima JSON.
Kapan menggunakannya
- Mengirim pengaturan yang ditulis dalam YAML ke API atau validator JSON Schema yang hanya menerima JSON.
- Memeriksa tipe sebenarnya dalam file CI atau Kubernetes, misalnya apakah versi berupa string atau angka.
Cara penggunaan
- Tempelkan satu dokumen YAML atau muat file .yaml/.yml.
- Jika muncul kesalahan, periksa indentasi, kunci duplikat, dan pemisah --- pada baris yang dilaporkan.
- Periksa perbedaan string dan angka dalam hasil JSON, lalu salin.
Masukan YAML
# deployment settings service: billing-api replicas: 2 version: "1.10" enabled: yes ports: - 80 - 443 env: LOG_LEVEL: info
JSON
{
"service": "billing-api",
"replicas": 2,
"version": "1.10",
"enabled": "yes",
"ports": [
80,
443
],
"env": {
"LOG_LEVEL": "info"
}
}Detail dan batasan
Penguraian berjalan di browser. Hasil selalu berupa JSON dengan indentasi 2 spasi; tidak ada opsi minifikasi.
Aturan YAML 1.2 berlaku: yes/no/on/off adalah string, bukan boolean, dan tanggal tanpa tanda petik tetap berupa string. 0o17 adalah oktal (15).
Kunci penggabungan (<<: *anchor) tidak digabungkan; kunci tersebut muncul sebagai kunci literal "<<". Kunci duplikat dalam satu pemetaan menyebabkan kesalahan.
Bilangan bulat di atas 2^53 kehilangan presisi dalam JSON. Apit ID panjang dengan tanda petik dalam YAML.
FAQ
Bisakah alat ini mengonversi file berisi beberapa dokumen yang dipisahkan oleh ---?
Tidak. Beberapa dokumen menyebabkan kesalahan "Source contains multiple documents". Tempelkan satu dokumen setiap kali. Satu --- di awal diperbolehkan.
Mengapa enabled: yes menjadi string dalam JSON?
Pengurai mengikuti YAML 1.2, yang hanya menganggap true dan false sebagai boolean. Tulis true/false jika memerlukan boolean JSON.
Apakah anchor dan alias didukung?
Ya. Alias seperti *base diganti dengan salinan nilai yang diberi anchor. Namun, kunci penggabungan << dari YAML 1.1 tidak diterapkan.