YAML a Convertitore JSON
Conversione rapida e sicura da YAML a JSON. Perfetto per file di configurazione e analisi dei dati.
Conversione rapida e sicura da YAML a JSON. Perfetto per file di configurazione e analisi dei dati.
YAML e JSON sono formati strettamente correlati (JSON è tecnicamente un sottoinsieme rigoroso di YAML 1.2) e la conversione tra di essi è solitamente semplice. YAML aggiunge funzionalità a misura d'uomo che mancano a JSON: commenti, stringhe su più righe senza caratteri di escape, riferimenti ad ancora e alias, virgolette più flessibili e struttura basata sul rientro che ricorda il layout naturale del documento. Ciò rende YAML la scelta popolare per i file di configurazione (manifesti Kubernetes, flussi di lavoro GitHub Actions, Docker Compose) mentre JSON domina i payload API.
Convertire YAML in JSON di solito significa rinunciare agli extra a misura d'uomo di YAML in cambio di un formato che le macchine analizzano più facilmente e che è la lingua franca delle API HTTP. I commenti vengono eliminati (JSON non ne ha). I riferimenti di ancoraggio vengono risolti nei relativi valori di riferimento. Le stringhe su più righe vengono compresse in stringhe JSON standard con ritorni a capo incorporati.
Questo convertitore analizza YAML utilizzando js-yaml, la libreria YAML più utilizzata in JavaScript. L'output viene generato utilizzando JSON.stringify con rientro facoltativo. La conversione gestisce tutta la sintassi standard YAML 1.2 inclusi stile di flusso, stile di blocco, scalari, sequenze, mappature, ancoraggi, alias e tipi di tag standard.
La maggior parte delle API e molti ambienti di programmazione si aspettano JSON. I file di configurazione scritti in YAML devono essere convertiti in JSON durante l'integrazione con codice o servizi che accettano solo JSON. Anche gli strumenti per JSON sono più abbondanti: jq, JSON Path, JSON Schema e un ampio ecosistema di validatori e trasformatori presuppongono tutti input JSON.
Anche JSON è inequivocabile a differenza di YAML. La flessibilità di YAML crea sorprese nell'analisi: stringhe come 'no' vengono analizzate come booleane false in YAML 1.1, stringhe di versione vengono analizzate come float, errori di indentazione che producono cambiamenti strutturali silenziosi. La conversione in JSON congela i dati in una forma meno ambigua.
Incolla YAML, ottieni JSON.
js-yaml implementa YAML 1.2 con supporto opzionale per le peculiarità di YAML 1.1 (il problema 'no'-as-false, numeri ottali senza prefisso 0o). Il parser produce un albero di oggetti JavaScript utilizzando tipi nativi: numeri, stringhe, booleani, null, array e oggetti semplici.
JSON.stringify serializza l'albero degli oggetti in JSON. Il rientro opzionale produce un output abbastanza stampato; senza di esso il risultato è un JSON compatto a riga singola. I valori speciali (NaN, Infinity, undefinito) non sono JSON validi; il convertitore li forza a null dove presente.
Casi limite: i timestamp YAML diventano stringhe ISO-8601 in JSON. I dati binari YAML (codificati base64) diventano una stringa. Ancore e alias vengono risolti in valori duplicati in JSON, poiché JSON non ha una sintassi di riferimento.