Un convertitore YAML ↔ JSON che controlla anche il tuo file
Lo YAML si usa soprattutto per i file di configurazione: i servizi di un'applicazione, una pipeline di integrazione continua, le impostazioni di un server, i testi tradotti di un sito. Il JSON è il formato che si aspettano le API e molti programmi. Questo strumento converte l'uno nell'altro, valida lo YAML e indica ogni errore con riga e colonna. Tutto avviene nel browser: il testo non viene caricato su nessun server.
Come si usa
- Scegli la conversione: «YAML → JSON», «JSON → YAML» oppure «Formatta YAML» (riscrive in modo ordinato lo stesso file).
- Incolla il testo, fai clic su «Apri un file» o prova con «Esempio».
- Imposta l'«Indentazione del JSON» (2 spazi, 4 spazi, tabulazione o «Compatto (una riga)») oppure l'«Indentazione dello YAML» (2 o 4 spazi).
- Leggi lo stato: «YAML valido.», un elenco di avvisi oppure l'errore con un estratto evidenziato e il pulsante «Vai all'errore».
- Passa ad «Albero» per esplorare i dati, poi usa «Copia» o «Scarica».
YAML e JSON a confronto
I due formati contengono gli stessi dati. Lo YAML usa l'indentazione dove il JSON usa parentesi graffe, quadre e virgolette.
| YAML | JSON ottenuto |
|---|---|
servizio: web | "servizio": "web" |
repliche: 2 | "repliche": 2 |
debug: false | "debug": false |
porte: e sotto - "8080:80" | "porte": ["8080:80"] |
Con «Compatto (una riga)» queste righe stanno in una sola riga JSON di 65 caratteri, senza nessuno spazio. Nel senso inverso lo strumento scrive YAML in stile a blocchi e mette le virgolette solo quando servono.
Le regole di sintassi essenziali
- Dopo una chiave vengono i due punti e uno spazio:
nome: valore. - L'annidamento si ottiene con l'indentazione, solo con spazi.
- Un elemento di lista inizia con un trattino e uno spazio:
- valore. |conserva gli a capo di un testo,>li trasforma in spazi;-toglie l'a capo finale,+tiene tutte le righe vuote in fondo.&nomedefinisce un'ancora,*nomela riusa e<<: *nomeunisce un oggetto;---separa i documenti, che il JSON raccoglie in un array.- Un commento inizia con uno spazio e poi
#.
Errori frequenti e trappole
Le tabulazioni non sono ammesse nell'indentazione: a: seguito da una riga che inizia con una tabulazione viene segnalato alla riga 2, colonna 1. Una riga spostata di uno spazio rompe la struttura. Un valore con due punti e spazio, come titolo: Nota: importante, viene rifiutato alla colonna 13; scrivi titolo: "Nota: importante".
La trappola più nota è il «problema della Norvegia»: in YAML 1.1 paese: NO diventa il booleano false, come yes, no, on e off. Lo strumento segue YAML 1.2, la versione attuale, in cui solo true e false sono booleani: NO resta quindi il testo «NO». Poiché molti programmi leggono ancora YAML 1.1, un avviso consiglia le virgolette. Altri avvisi riguardano le chiavi duplicate (vince l'ultimo valore) e i numeri ingannevoli: il CAP cap: 00184 diventa 184 e versione: 3.10 diventa 3.1.
Sicurezza
Non caricare mai uno YAML di provenienza sconosciuta con un caricatore capace di creare oggetti del linguaggio a partire dai tag: usa sempre il caricatore «sicuro» del tuo linguaggio. Qui i tag non standard vengono solo segnalati e mai eseguiti, e gli alias che aggiungerebbero più di 1.000.000 di nodi (l'attacco «billion laughs») interrompono la lettura.
Domande frequenti
I commenti finiscono nel JSON?
No, il JSON non prevede commenti. Anche «Formatta YAML» non li conserva e sostituisce ogni alias con il suo contenuto.
Perché "3.10" è tra virgolette nello YAML prodotto?
Senza virgolette, 3.10 verrebbe letto come il numero 3,1. Lo strumento mette tra virgolette ogni stringa che sembra un numero, un booleano o null.
I numeri interi molto grandi restano esatti?
Sì. 12345678901234567890 viene copiato cifra per cifra, senza l'arrotondamento abituale dei browser.
Quanto può essere grande il file?
Fino a 20 MB. L'analisi avviene in background e la pagina resta utilizzabile.