Convertitore da JSON a YAML
Trasforma il JSON in YAML pulito e leggibile per Kubernetes, Docker Compose, GitHub Actions o Ansible, con pieno controllo su indentazione, stile e virgolette.
Funziona nel browserNessuna registrazioneNessun caricamento
Come usare JSON to YAML
- Incolla il JSON nel riquadro di sinistra oppure apri un file
.json. - Lo YAML compare a destra mentre scrivi.
- Scegli l'indentazione (2 o 4 spazi) e lo stile: block (una chiave per riga) o flow (
{a: 1}/[x, y]) a partire da un certo livello di annidamento. - Scegli uno stile di virgolette e spunta Ordina chiavi se vuoi l'ordine alfabetico.
- Copia o scarica lo YAML. Il JSON non valido viene segnalato con riga, colonna e causa probabile.
Perché convertire JSON in YAML?
JSON è ideale per macchine e API, ma YAML è più facile da leggere e modificare per le persone: niente parentesi graffe, niente virgolette obbligatorie e supporto ai commenti. La maggior parte degli strumenti di infrastruttura, tra cui Kubernetes, Helm, Docker Compose, GitHub Actions, GitLab CI e Ansible, si configura in YAML, mentre i dati di partenza (output delle API, kubectl get -o json, stato di Terraform) sono spesso in JSON.
Stile block e stile flow
Lo stile block mette ogni chiave ed elemento di lista su una riga propria ed è la scelta convenzionale per i file di configurazione. Lo stile flow usa {} e [] inline, come il JSON, e mantiene compatte le strutture foglia brevi. “Flow dal livello 2” mantiene i primi due livelli in stile block e mette inline tutto ciò che è più profondo, ideale per lunghe liste di piccoli oggetti come porte o variabili d'ambiente.
Virgolette sicure
Le stringhe che un parser YAML potrebbe interpretare male vengono quotate automaticamente: valori come 'no', 'on', '1.0', 'null', stringhe che iniziano con * o & e stringhe che contengono : . Scegli Sempre singole o Sempre doppie se la tua guida di stile richiede che ogni stringa sia tra virgolette.
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
La conversione è senza perdite?
Perché alcune stringhe sono tra virgolette e altre no?
'yes', '123' o stringhe con caratteri speciali. Tutto il resto resta senza virgolette per leggibilità.Posso aggiungere commenti all'output?
# comments allo YAML dopo averlo copiato.