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

Output JSON

Come usare JSON to YAML

  1. Incolla il JSON nel riquadro di sinistra oppure apri un file .json.
  2. Lo YAML compare a destra mentre scrivi.
  3. 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.
  4. Scegli uno stile di virgolette e spunta Ordina chiavi se vuoi l'ordine alfabetico.
  5. 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: no significa false, quindi il codice paese della Norvegia NO sparisce. Lo stesso vale per yes, on, off, y e n. YAML 1.2 considera booleani solo true e false.
  • Numeri ottali: 0755 è ottale in 1.1 ma un normale decimale in 1.2, che usa 0o755. Per sicurezza metti tra virgolette i permessi dei file.
  • Numeri sessagesimali: in 1.1 22:30 può 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?
Sì. Ogni documento JSON è YAML 1.2 valido e lo YAML generato, una volta riletto, restituisce esattamente gli stessi dati. Puoi verificarlo premendo Inverti.
Perché alcune stringhe sono tra virgolette e altre no?
Con Solo se necessario, le virgolette vengono aggiunte solo dove un valore senza virgolette cambierebbe significato, ad esempio 'yes', '123' o stringhe con caratteri speciali. Tutto il resto resta senza virgolette per leggibilità.
Posso aggiungere commenti all'output?
JSON non ha commenti, quindi non ce ne sono da convertire, ma puoi aggiungere # comments allo YAML dopo averlo copiato.
L'ordine delle chiavi cambia?
No. Le chiavi mantengono l'ordine del JSON, a meno che tu non spunti Ordina chiavi.
I miei dati restano privati?
Sì. Il convertitore gira nel tuo browser e non effettua richieste di rete con il tuo input.

Strumenti correlati