Convertitore da YAML a JSON

Converti YAML in JSON e JSON in YAML, con la riga e la colonna esatte di ogni errore di sintassi.

Come si usa

  1. Incolla YAML o JSON — lo strumento capisce da solo di quale si tratta, oppure scegli tu la direzione.
  2. Clicca su «Converti». Se la sintassi è rotta, leggi la riga e la colonna nel messaggio e il cursore sotto il carattere incriminato.
  3. Copia il risultato o scaricalo come converted.json o converted.yaml. Niente viene caricato.

Informazioni su questo strumento

YAML e JSON descrivono la stessa cosa — mappe, elenchi, stringhe, numeri, booleani e null — con priorità opposte. JSON usa parentesi graffe e virgolette, che piacciono alle macchine e che le persone sbagliano a digitare. YAML usa l'indentazione e quasi nessuna punteggiatura, cosa che piace alle persone finché uno spazio di troppo non cambia la forma del documento. Convertire dall'uno all'altro è lavoro di routine: leggere un manifest Kubernetes o un workflow di GitHub Actions come JSON perché uno script possa consumarlo, oppure riportare la risposta di un'API in YAML per un file di configurazione. Questo strumento va in entrambe le direzioni e rileva quale dei due hai incollato.

La conversione è la metà facile; è su ciò che succede quando lo YAML è rotto che questo strumento spende il suo impegno. Un errore di sintassi viene segnalato con riga e colonna contate come le conta un editor, con un estratto delle righe circostanti e un cursore sotto il carattere esatto che ha fermato il parser. La posizione non è sempre dove te l'aspetti. Una tabulazione usata per l'indentazione viene rifiutata proprio sulla tabulazione, e l'estratto la stampa come una freccia, così puoi vedere ciò che non si vede. Una virgoletta non chiusa viene segnalata alla fine del file, non sulla virgoletta di apertura, perché è lì che il parser ha esaurito il testo cercando quella di chiusura. Una chiave duplicata viene segnalata alla sua seconda occorrenza, e qui è un errore, non un avviso. Gli errori JSON ricevono lo stesso trattamento: i browser li formulano in modo diverso e alcuni riportano solo un offset di caratteri, quindi la riga e la colonna vengono calcolate qui e risultano identiche ovunque.

YAML può esprimere cose che JSON non può, e ognuna di queste viene segnalata invece di cambiare in silenzio i tuoi dati. Le ancore e gli alias vengono espansi, quindi un alias diventa una copia completa del valore ancorato, e te lo diciamo. Le merge key no: il parser lavora sullo schema JSON, che non le risolve, quindi una riga << sopravvive come chiave letterale con un avviso che ti invita a unire quei campi a mano. Un file che contiene più documenti separati da --- diventa un array JSON, un elemento per documento. I valori .inf e .nan escono come null, e gli interi enormi perdono le ultime cifre; entrambi vengono segnalati. Quello schema è anche una scelta di sicurezza: i tag come !!js/function vengono rifiutati come sconosciuti invece di essere istanziati. E niente di tutto questo viaggia — tutto gira sul tuo dispositivo.

Domande frequenti

Il mio YAML o JSON esce dal mio browser?

No. Il testo viene analizzato e convertito da JavaScript sul tuo dispositivo — niente viene inviato da nessuna parte, memorizzato o registrato. Qui è importante: un manifest Kubernetes contiene hostname, porte, nomi di bucket e service account.

Che cosa indicano esattamente la riga e la colonna nell'errore?

Indicano dove il parser si è arreso, contando da 1 come nel tuo editor, con il cursore sotto quel carattere. Un caso sorprende sempre: una virgoletta non chiusa viene segnalata alla fine del file, quindi torna indietro a cercare l'ultima virgoletta che hai aperto.

Le ancore e gli alias sono supportati?

Sì. Ogni alias diventa una copia completa del valore ancorato nel JSON, e lo strumento te lo dice. Le merge key sono l'eccezione: non vengono risolte, il << sopravvive come chiave letterale e ricevi un avviso esplicito invece di un risultato sbagliato in silenzio.

Può convertire un file con più documenti separati da ---?

Sì. JSON non ha il concetto di più documenti in un solo file, quindi ogni documento YAML diventa un elemento di un array JSON, nell'ordine originale, e un avviso indica quanti ne sono stati trovati.

Perché «yes» è diventato una stringa invece di true?

Perché YAML 1.2 considera booleani solo true e false; yes, no, on e off restano stringhe. I vecchi parser 1.1 li convertivano — la stessa regola che trasforma il codice del paese NO in false. Metti tra virgolette un valore ogni volta che deve restare testo.

Strumenti correlati

Link lunghi? Accorciali gratis

Vai.la trasforma qualsiasi URL in un link breve con statistiche dei clic, QR Code e il tuo biolink personale.

Vai.la non è responsabile dell'uso degli strumenti né delle decisioni prese in base ai loro risultati.