Come convertire JSON in YAML
- Incolla il JSON o apri un file: lo YAML compare mentre scrivi. Scegli un'indentazione di 2 o 4 spazi.
- Per la conversione inversa, imposta la direzione su YAML → JSON e incolla lo YAML.
- Copia il risultato o scaricalo come file
.yamlo.json.
JSON vs YAML
| JSON | YAML | |
|---|---|---|
| Struttura | parentesi graffe {} e quadre [] | indentazione ed elementi di lista con - |
| Stringhe | sempre tra virgolette doppie | virgolette solo quando servono |
| Commenti | non ammessi | # comment |
| Testo multiriga | escape \n | blocchi letterali con | |
| Uso tipico | API e scambio di dati | file di configurazione |
YAML 1.2 è un superset di JSON, quindi un documento JSON è già YAML valido. Il convertitore però scrive nel più leggibile stile a blocchi.
Valori da mettere tra virgolette in YAML
Alcune parole senza virgolette cambiano tipo in YAML: yes, no, on e off sono booleani nei parser YAML 1.1, 007 e 1e3 sono numeri e null o ~ significano null. È il famoso “problema della Norvegia”: il codice paese NO diventa false se non è tra virgolette. Il convertitore mette automaticamente tra virgolette queste stringhe, così rileggendo lo YAML si ottengono esattamente gli stessi dati.
YAML supportato nella conversione YAML → JSON
Il parser comprende lo YAML usato nei file di configurazione e nelle API: mappe e liste a blocchi, stringhe semplici o tra virgolette singole e doppie, blocchi multiriga | e >, collezioni inline [ ] e { }, commenti e il marcatore di documento ---. Ancore (&), alias (*) e tag personalizzati vengono segnalati come non supportati, con il numero di riga. Di un file con più documenti viene convertito solo il primo.
Domande frequenti
YAML è un superset di JSON?
YAML 1.2 è stato progettato come superset di JSON, quindi praticamente ogni file JSON è anche YAML valido. Non vale il contrario: YAML ha commenti, ancore e blocchi multiriga che JSON non ha.
I commenti vengono mantenuti nella conversione da YAML a JSON?
No. JSON non prevede commenti, quindi vengono eliminati. Chiavi, valori e il loro ordine vengono mantenuti.
Perché il mio YAML viene rifiutato?
Le cause più comuni sono le tabulazioni usate per l'indentazione (YAML ammette solo spazi), elementi della stessa lista o mappa che non iniziano nella stessa colonna e uno spazio mancante dopo i due punti. Il messaggio di errore indica la riga.
Come vengono tipizzati nel JSON i valori YAML?
Secondo il core schema di YAML 1.2: true/false diventano booleani, null e ~ diventano null e i numeri semplici diventano numeri JSON, mentre parole come yes restano stringhe. Metti tra virgolette codici come "007" nel tuo YAML per mantenerli come testo.