Convertire JSON in YAML JavaScript Object Notation ↔ YAML Ain't Markup Language Gratis Online Sicuro
Lasci un file JSON e si porti via YAML. Si legge e si scrive qui, nel suo browser, quindi il file non lascia il suo dispositivo — e che cosa il passaggio conserva, e che cosa non può, è scritto più sotto invece di essere lasciato alla sua scoperta.
Converti il tuo file
Lasci qui un file JSON, oppure ne scelga uno.
Il tuo file non esce da questo dispositivo. Tutto gira nel tuo browser.
Non si carica niente
Convertire da JSON
Convertire in JSON
Da dove vengono questi formati
Il CSV è il più antico e il meno normato: una tabella scritta come righe di testo, in uso dagli anni Settanta e descritto per iscritto soltanto nel 2005, quando ogni programma aveva già deciso per conto suo quale fosse il separatore e quando mettere le virgolette. L'XML nacque dall'SGML nel 1998, per documenti che devono portare una struttura rigorosa ed essere verificati rispetto a uno schema. Il JSON fu estratto da JavaScript da Douglas Crockford verso il 2001, ridotto di proposito a oggetti, liste, numeri e stringhe — e quella spoliazione è la ragione per cui conquistò il web. Lo YAML ne è il cugino leggibile, dove l'indentazione fa il lavoro che altrove fanno le parentesi. Nel convertire fra loro conta una cosa sola: il CSV è piatto, una griglia di righe e colonne, mentre JSON, XML e YAML sono alberi.
Dove li incontra
Il CSV è ciò che un foglio di calcolo esporta e ciò che vi porgono un contabile, una piattaforma di negozio o un estratto conto. Il JSON è ciò che parlano i servizi web e ciò in cui si scrivono sempre più i file di configurazione. L'XML sopravvive nei sistemi aziendali più vecchi, nelle norme di fatturazione e dentro gli stessi formati d'ufficio. Lo YAML è dove gli esseri umani scrivono impostazioni a mano. Convertire fra loro è il lavoro quotidiano di portare i dati da dove sono nati a dove servono.
Domande frequenti
Il mio CSV si è aperto in Excel come un'unica colonna. Perché?
Perché il vostro foglio di calcolo si aspettava un altro separatore. Excel segue il separatore di elenco delle impostazioni locali, che è il punto e virgola ovunque la virgola sia già il segno decimale — cioè in gran parte dell'Europa continentale. Un file separato da virgole appare allora come una sola colonna di testo. Usate la finestra di importazione e dichiarate il separatore, anziché aprire il file con un doppio clic. La stessa impostazione locale spiega perché 3.5 arrivi talvolta trasformato in data.
Perché il mio JSON annidato non diventa un foglio di calcolo pulito?
Perché un foglio di calcolo è piatto e il JSON è un albero. Una riga regge un valore per colonna; un oggetto JSON può reggere una lista dentro un campo dentro un'altra lista. Convertire significa scegliere come appiattirlo: o unire i nomi annidati in una sola lunga intestazione di colonna, o ripetere la riga madre una volta per ciascuna figlia. Entrambe sono rinunce, e nessuna si disfa da sola — per questo tornare dal foglio di calcolo alla forma originale richiede di solito una decisione umana.
Il file perde qualità?
Dipende da ciò che i due formati sanno contenere. Convertire fra formati che conservano la stessa cosa — un PNG in BMP, un WAV in FLAC — non perde nulla. Convertire verso un formato che butta via informazione per guadagnare spazio, come JPEG o MP3, ne perde un poco ogni volta, e tornare indietro non la riporta. Dove una scelta esiste, questa pagina propende per conservare la qualità originale anziché per fare il file più piccolo.
Il mio file viene caricato da qualche parte?
No. La conversione avviene dentro il vostro browser, sulla vostra macchina; il file non la lascia mai e qui non esiste alcun server che possa riceverlo. Per questo un file grande è limitato dalla vostra memoria e non da un caricamento, e per questo nulla di ciò che convertite può comparire nei registri di nessuno, nemmeno nei nostri. Gli strumenti per l'audio e il video prendono però il loro motore di conversione da questo sito la prima volta che li usate — una trentina di megabyte, una volta sola; dopo, il lavoro avviene ancora del tutto sulla vostra macchina.
Perché si converte JSON in YAML
JSON è la notazione che i programmi amano: rigorosa, compatta e capita da ogni linguaggio. Ma non è gentile con le persone. Un lungo file JSON è un groviglio di graffe, parentesi quadre, virgolette e virgole, senza spazio per un commento e con una virgola finale che può rompere tutto. YAML è la notazione che le persone scelgono quando devono leggere e modificare i dati a mano. Usa l'indentazione al posto delle graffe, permette i commenti e si legge quasi come uno schema, ed è per questo che è diventata la favorita per la configurazione: pipeline di build, definizioni di container, file di distribuzione, impostazioni di siti statici e strumenti di documentazione. Quando i dati arrivano come JSON e vuoi lavorarci in una forma piacevole da leggere, serve una conversione. Per questo le persone convertono JSON in YAML.
Le situazioni sono quotidiane. Uno sviluppatore che ha l'output di uno strumento in JSON e vuole trasformarlo in un file di configurazione. Un gruppo che sposta impostazioni da un sistema a un altro e preferisce un formato leggibile. Uno scrittore che vuole leggere la struttura della risposta di un'API senza il disordine. Uno studente che vuole vedere come le graffe si traducono in indentazione. In ogni caso i dati sono gli stessi, e cambia solo la notazione.
Questa pagina converte JSON in YAML nel tuo browser. Il tuo file viene letto e scritto qui, quindi non lascia mai il tuo dispositivo, il che conta per i file di configurazione, che spesso contengono indirizzi, nomi di sistemi interni e a volte segreti. E la pagina ti dice in anticipo che cosa il passaggio conserva e che cosa non può, anziché lasciarti scoprirlo. Qui sotto trovi come funziona la conversione, che cosa succede con l'annidamento profondo e le stringhe lunghe e come ottenere un risultato ordinato.
Come funziona la conversione
Le stesse forme in entrambe le notazioni
Il tuo JSON viene letto dentro il tuo browser, e la sua struttura viene scritta come YAML. I due contengono le stesse forme, e tutto viene conservato in entrambe le direzioni: mappe, elenchi, stringhe, numeri, booleani e null. Un oggetto in JSON diventa una mappatura in YAML, un array diventa una sequenza, e i valori scalari conservano i loro tipi. Una chiave port con il numero 8080 dà port: 8080, e una chiave enabled con true dà enabled: true.
Le strutture ripetute sono scritte per intero
YAML ha un modo di evitare le ripetizioni, con ancore e alias. Il convertitore non lo usa. Le strutture ripetute sono scritte per intero anziché come ancore, così il file si legge in linea retta. Ciò rende lo YAML un po' più lungo, ma nulla in esso va cercato altrove, e qualsiasi lettore può capire ogni blocco da solo.
Le chiavi mantengono l'ordine
Le chiavi mantengono l'ordine che JSON aveva. Lo YAML si legge nella stessa sequenza della sorgente, quindi chi conosce il JSON si orienterà subito.
Che cosa viene conservato
Tutto ciò che è dato
Tutto viene conservato, in entrambe le direzioni: mappe, elenchi, stringhe, numeri, booleani e null. Se era un valore nel tuo JSON, è un valore nello YAML, con lo stesso tipo.
Stringhe che richiedono protezione
Alcune stringhe verrebbero lette male in YAML se scritte nude: la parola true, un numero tra virgolette, un testo che contiene i due punti. Il convertitore mette tali stringhe tra virgolette così che tornino come stringhe e non si trasformino in booleani o numeri. Una stringa JSON che dice "true" resta una stringa nello YAML.
Unicode
Lettere accentate, simboli e caratteri di altri alfabeti vengono conservati così come sono, quindi un file in più lingue resta leggibile.
Che cosa devi sapere prima di convertire JSON in YAML
L'annidamento profondo significa indentazione profonda
YAML mette il significato nella sua indentazione, quindi un valore che finisce profondamente annidato diventa un file profondamente indentato: leggibile, ma non breve. Un albero JSON di otto livelli dà righe che cominciano lontano dal margine sinistro. Se questo diventa ingestibile, considera di appiattire la struttura alla sua fonte.
Le stringhe lunghe vengono a capo
Le stringhe lunghe vanno a capo a circa cento colonne, il che cambia dove cadono gli a capo senza cambiare il valore. Un paragrafo che era una singola lunga riga nel JSON appare su più righe nello YAML, ma è lo stesso testo. Un programma che legge lo YAML riceve la stringa originale.
I commenti non si possono inventare
YAML permette i commenti, ma JSON non ne porta, quindi il risultato non ne ha. Puoi aggiungere spiegazioni a mano dopo, che è uno dei motivi principali per avere il file in YAML.
Come convertire JSON in YAML qui
Aggiungi il tuo file
Trascina il file JSON sulla pagina o scegli dal tuo dispositivo. Viene letto dentro il tuo browser e non viene caricato.
Converti
Premi il pulsante. Un file di dimensioni ordinarie richiede un attimo. Lascia aperta la pagina finché non ha finito.
Scarica e controlla
Scarica lo YAML e aprilo in un editor di testo. Guarda l'inizio e la fine, e controlla che la struttura e i tipi siano quelli che ti aspetti.
Uno sguardo più da vicino a JSON e YAML
Due notazioni per gli stessi dati
JSON è stato progettato per essere facile da leggere e scrivere per i programmi. YAML è stato progettato per essere facile per le persone. Si sovrappongono tanto che JSON è quasi un sottoinsieme di YAML, e un lettore YAML di solito può leggere JSON. Convertire JSON in YAML non significa quindi cambiare i dati ma rivestirli di nuovo, in una forma che ha spazio per le note e nessun disordine di punteggiatura.
Perché l'indentazione richiede cura
Poiché YAML si basa sull'indentazione, una riga disallineata cambia il significato. Il convertitore scrive l'indentazione in modo coerente, con spazi e con la stessa larghezza a ogni livello, quindi il file è corretto così com'è prodotto. Quando lo modificherai più tardi, mantieni la stessa larghezza, ed evita le tabulazioni, che YAML non permette per l'indentazione.
Leggibile ma non sempre più breve
YAML viene spesso descritto come più compatto di JSON, perché elimina le graffe e le virgolette intorno alle chiavi. Per i dati piatti è vero. Per i dati profondamente annidati, l'indentazione può renderlo più lungo in caratteri. Il guadagno sta nella leggibilità, non nella dimensione.
Situazioni comuni nel dettaglio
Trasformare l'output di uno strumento in configurazione
Gli strumenti stampano spesso le loro impostazioni o i risultati come JSON. Converti JSON in YAML, aggiungi i commenti e tienilo come il file di configurazione che le persone mantengono.
Spostare impostazioni tra sistemi
Spostare una configurazione da un sistema che usa JSON a uno che usa YAML è questione di una conversione, seguita da un controllo che la destinazione accetti le chiavi.
Leggere la risposta di un'API
La risposta di un'API può arrivare a centinaia di righe di graffe. In YAML gli stessi dati si leggono come uno schema, e vedi la struttura a colpo d'occhio.
Insegnamento e documentazione
Mostrare gli stessi dati in entrambe le notazioni è un buon modo per insegnare come funzionano i dati strutturati. La documentazione che usa esempi YAML è spesso più facile da leggere.
Consigli pratici prima di convertire JSON in YAML
Controlla che il JSON sia valido
Una virgola di troppo o una virgoletta mancante bloccherà la conversione. Se la pagina segnala un errore, apri il file in un editor che evidenzia i problemi JSON e correggi la riga che indica.
Appiattisci dove puoi
Se la struttura è più profonda del necessario, semplificala prima. Una struttura più piatta dà uno YAML più facile da leggere e modificare.
Pensa a chi lo userà
Guarda che cosa leggerà lo YAML. Alcuni strumenti si aspettano nomi di chiave e tipi particolari, ed è più facile regolare il JSON prima che modificare lo YAML dopo.
File grandi
Tutto gira sul tuo dispositivo, quindi un file molto grande richiede memoria. Per file di molti megabyte, usa un computer, e dividi i dati se la pagina fatica.
Domande che le persone fanno prima di convertire
I miei dati verranno cambiati?
No. Tutto viene conservato in entrambe le direzioni: mappe, elenchi, stringhe, numeri, booleani e null.
Perché le mie stringhe lunghe sono divise su più righe?
Le stringhe lunghe vanno a capo a circa cento colonne. Ciò cambia dove cadono gli a capo senza cambiare il valore.
Perché il mio file è così indentato?
Perché i dati sono profondamente annidati, e YAML esprime l'annidamento con l'indentazione.
Dove sono le ancore?
Le strutture ripetute sono scritte per intero anziché come ancore, così il file si legge in linea retta.
Il mio file viene caricato?
No. La conversione gira nel tuo browser e il file non lascia mai il tuo dispositivo.
Posso tornare a JSON?
Sì. Da YAML a JSON rilegge il file, anche se i commenti che hai aggiunto non sopravvivono.
Scegliere con saggezza quando converti JSON in YAML
YAML serve davvero?
Se lo strumento ricevente legge JSON, tieni il JSON. Converti quando le persone devono leggere e modificare il file, o quando lo strumento richiede YAML.
Altre destinazioni
Se la destinazione è un file di markup, può seguire da JSON a XML. Per le tabelle, da JSON a CSV e da JSON a XLSX servono ai fogli di calcolo.
Conserva il JSON
Il JSON è l'originale se viene da un programma. Conservalo, e rigenera lo YAML quando cambia.
Ottenere un buon risultato dopo la conversione
Aggiungi commenti
Il risultato non ne ha, ed è qui che YAML dà il meglio. Aggiungi una breve nota sopra ogni blocco per dire che cosa fa e quali valori sono ammessi.
Controlla i tipi
Guarda valori come versioni, codici e indicatori. Assicurati che siano stringhe dove intendevi stringhe e numeri dove intendevi numeri.
Mantieni coerente l'indentazione
Quando modifichi, usa gli spazi e mantieni la stessa larghezza a ogni livello. Un editor che mostra gli spazi bianchi e controlla lo YAML ti salverà dagli errori.
Preparare il tuo JSON perché si converta bene
Mantienilo regolare
Quando converti JSON in YAML, i dati regolari si convertono meglio: chiavi coerenti e tipi chiari. I dati irregolari danno un risultato corretto ma disordinato.
Dai nomi chiari alle chiavi
Le persone leggeranno lo YAML, quindi scegli chiavi che dicano ciò che significano. Una configurazione è più facile da mantenere quando i suoi nomi sono semplici.
Prova prima su un pezzo piccolo
Se il tuo file è grande, prendi una sezione in un file di prova e converti quella. Una rapida occhiata al risultato mostra se la struttura è quella che ti aspetti.
Lavorare con lo YAML dopo aver convertito JSON in YAML
Aggiungi le note che JSON non poteva contenere
La prima cosa da fare con un file appena convertito è leggerlo dall'alto e aggiungere commenti dove un estraneo resterebbe perplesso. Una breve riga sopra una sezione che dice che cosa controlla vale più di una pagina di documentazione tenuta altrove, perché sta accanto alla cosa che descrive. È il vantaggio principale che ottieni quando converti JSON in YAML.
Raggruppa le impostazioni correlate
Le chiavi mantengono l'ordine che avevano nel JSON, che può essere l'ordine in cui un programma le ha emesse per caso. In YAML sei libero di riordinarle così che le impostazioni correlate stiano insieme, con una riga vuota tra i gruppi. Poiché l'ordine delle chiavi in una mappatura non ha significato per la maggior parte dei lettori, è sicuro, ma controlla lo strumento che usi nel caso gli importi.
Controlla che cosa si aspetta lo strumento ricevente
Un file YAML valido non è necessariamente una configurazione valida. Gli strumenti si aspettano chiavi e tipi particolari, e alcuni sono rigidi sulle chiavi sconosciute. Dopo la conversione, confronta il file con la documentazione dello strumento, ed esegui il suo controllore se ne ha uno.
Usa il controllo di versione
La configurazione in YAML è facile da confrontare riga per riga, il che la rende adatta al controllo di versione. Registra il file convertito e lascia che i colleghi vedano ogni modifica come una differenza chiara, cosa molto più difficile con una singola riga di JSON minimizzato.
Attenzione ai segreti
Il JSON esportato dagli strumenti a volte comprende token e password. Poiché la conversione avviene nel tuo browser, nulla lascia il tuo dispositivo, ma il file YAML conterrà gli stessi segreti. Rimuovili, o spostali in un posto più sicuro, prima di registrare o condividere il file.
Attenzione all'indentazione quando modifichi
Una volta che cominci a modificare a mano, il rischio principale è una riga spostata di uno spazio. Usa un editor che mostra gli spazi bianchi e controlla lo YAML mentre digiti, e mantieni la stessa larghezza a ogni livello, come ha fatto il convertitore.
Converti di nuovo quando cambia la sorgente
Se il JSON è prodotto da un programma e cambia di tanto in tanto, converti di nuovo JSON in YAML per ogni nuova versione, e unisci i tuoi commenti dal vecchio file nel nuovo. Uno strumento di confronto lo riduce a questione di minuti.
Riservatezza e gestione
Perché la conversione in locale conta per la configurazione
I file di configurazione contengono spesso indirizzi, nomi di sistemi interni e a volte chiavi e password. Molti convertitori online caricano il tuo file su un server, lo elaborano e restituiscono il risultato, e per un po' una copia vive su una macchina che non controlli. Qui è il tuo browser a fare il lavoro, quindi il file resta sul tuo dispositivo.
Che cosa succede quando te ne vai
Quando chiudi la pagina, il file convertito scompare dal browser, quindi scaricalo prima. Nulla del tuo file viene conservato.
Se qualcosa va storto
La pagina dice che il file non è un JSON valido
Può esserci una virgola di troppo, una virgoletta mancante o una parentesi che non si chiude. Apri il file in un editor che evidenzia gli errori JSON e correggi la riga che indica.
Lo strumento rifiuta lo YAML
Controlla i nomi delle chiavi e i tipi che si aspetta. Lo YAML è valido, ma lo strumento può volere nomi diversi o una struttura diversa.
La pagina si blocca con un file grande
Tutto gira sul tuo dispositivo, e un file grande richiede memoria. Riprova su un computer, o dividi i dati.
Strumenti correlati
La stessa famiglia di strumenti copre i lavori vicini. Per tornare indietro, usa da YAML a JSON. Per il markup, da JSON a XML e da XML a JSON convertono tra quei due. Per le tabelle ci sono da JSON a CSV, da CSV a JSON, da JSON a XLSX e da XLSX a JSON.
Un esempio svolto
Diciamo che uno strumento stampa le sue impostazioni come file JSON di 150 righe, e vuoi tenerle nel tuo repository come configurazione che i colleghi possano leggere e commentare. Trascini qui il file e premi il pulsante. Un attimo dopo scarichi uno YAML di circa 90 righe in cui la struttura si legge come uno schema. Aggiungi un commento sopra ogni sezione, lo registri e dici al gruppo dove modificare. Il JSON resta come output dello strumento.
Una breve lista di controllo
Prima di convertire
Controlla che il JSON sia valido. Semplifica l'annidamento profondo se puoi. Conserva il JSON.
Mentre converti
Resta sulla pagina finché il file è pronto.
Dopo aver convertito
Apri lo YAML, controlla la struttura e i tipi, aggiungi commenti e provalo con lo strumento che lo leggerà.
Errori comuni
Aspettarsi un file più breve
L'annidamento profondo fa un'indentazione profonda. YAML è più leggibile, non sempre più piccolo.
Modificare con le tabulazioni
YAML non permette le tabulazioni per l'indentazione. Usa gli spazi.
Perdere la sorgente
Se il JSON viene da un programma, conservalo e rigenera lo YAML quando cambia.
Il tuo file resta sul tuo dispositivo
La conversione avviene in locale. Il tuo file viene letto dal tuo browser, riscritto lì e restituito come YAML. Non viene caricato nulla, quindi nessuna copia finisce su un server e nessun altro può leggerlo. Per la configurazione con contenuto privato è il modo sicuro di convertire JSON in YAML.
Riepilogo
Per convertire JSON in YAML qui, trascina il file e premi il pulsante. Viene letto e scritto nel tuo browser, quindi il file non lascia mai il tuo dispositivo. Tutto viene conservato, in entrambe le direzioni: mappe, elenchi, stringhe, numeri, booleani e null. Le strutture ripetute sono scritte per intero anziché come ancore, così il file si legge in linea retta. YAML mette il significato nella sua indentazione, quindi un valore che finisce profondamente annidato diventa un file profondamente indentato, leggibile ma non breve. Le stringhe lunghe vanno a capo a circa cento colonne, il che cambia dove cadono gli a capo senza cambiare il valore. Le chiavi mantengono l'ordine che JSON aveva.