Convertitore da YAML a JSON
Incolla YAML (manifest Kubernetes, Docker Compose, configurazioni CI) e ottieni subito JSON pulito. Gli errori mostrano la riga esatta con un indicatore.
Funziona nel browserNessuna registrazioneNessun caricamento
Come usare YAML to JSON
- Incolla lo YAML nel riquadro di sinistra oppure apri un file
.yaml/.yml. - Il JSON compare a destra mentre scrivi. Scegli 2 spazi, 4 spazi o tab per l'output.
- Spunta Ordina chiavi per ordinarle alfabeticamente. Aiuta quando confronti configurazioni.
- Se lo YAML non è valido, la barra di stato mostra riga e colonna, e le righe problematiche compaiono sotto con un indicatore
^. - Copia o scarica il JSON, oppure premi Inverti per riconvertirlo in YAML.
Come lo YAML corrisponde al JSON
JSON è un sottoinsieme di YAML 1.2, quindi ogni mapping YAML diventa un oggetto JSON, ogni sequenza diventa un array e gli scalari diventano stringhe, numeri, booleani o null. Le funzionalità esclusive di YAML vengono risolte durante la conversione:
- Commenti (
# …) vengono eliminati, perché JSON non ha commenti. - Anchor e alias (
&base,*base,<<: *base) vengono espansi in copie complete. - Timestamp come
2024-01-02diventano stringhe ISO 8601. - Stringhe multiriga (blocchi letterali
|e ripiegati>) diventano normali stringhe con escape\n.
YAML multi-documento
Un singolo file può contenere più documenti YAML separati da ---, come avviene spesso nei manifest Kubernetes. JSON non ha un equivalente, quindi il convertitore restituisce un array JSON con un elemento per documento e lo indica nella barra di stato. Un --- isolato alla fine viene ignorato.
Insidie tra YAML 1.1 e 1.2
Questo convertitore segue YAML 1.2, la specifica attuale. Molti strumenti più vecchi (PyYAML, Psych di Ruby, alcune versioni di Kubernetes e Ansible) leggono ancora YAML 1.1, dove le regole sono diverse:
- Il problema della Norvegia: in YAML 1.1
country: nosignificafalse, quindi il codice paese della NorvegiaNOsparisce. Lo stesso vale peryes,on,off,yen. YAML 1.2 considera booleani solotrueefalse. - Numeri ottali:
0755è ottale in 1.1 ma un normale decimale in 1.2, che usa0o755. Per sicurezza metti tra virgolette i permessi dei file. - Numeri sessagesimali: in 1.1
22:30può essere interpretato come il numero 1350. Metti tra virgolette orari e mappature di porte come"8080:80".
La direzione JSON → YAML mette automaticamente tra virgolette le stringhe ambigue ('no', 'on', 'y'), quindi lo YAML prodotto si legge allo stesso modo in entrambe le versioni.
Domande frequenti
Il mio YAML viene caricato da qualche parte?
Perché il mio YAML fallisce con “bad indentation”?
-) siano indentati in modo coerente sotto la chiave genitore.Cosa succede ai commenti YAML?
Perché <code>no</code> è rimasto una stringa?
true/false sono booleani. I parser YAML 1.1 più vecchi trasformerebbero no, yes, on e off in booleani (il “problema della Norvegia”).Posso convertire un manifest Kubernetes con più risorse?
--- diventa un elemento dell'array JSON di output, pronto per jq o kubectl apply -f -, che accetta anche liste JSON.