Konversi Format YAML ke JSON — Numio
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.