Convertitore da JSON a YAML
Incolla il tuo JSON qui sotto per ottenere uno YAML leggibile — oggetti e array annidati con indentazione corretta in stile blocco, e stringhe tra virgolette solo quando lasciarle senza sarebbe ambiguo. Nulla di ciò che incolli viene caricato da nessuna parte; la conversione avviene interamente nel tuo browser.
Ottieni uno YAML che si legge come se fosse scritto a mano
Gli oggetti diventano righe chiave: valore, con
indentazione di 2 spazi per livello di annidamento; quando un
valore è a sua volta un oggetto o un array, passa a righe
proprie indentate invece di restare in linea. Gli array
diventano una lista a blocchi con prefisso - allo
stesso livello di indentazione della chiave che li possiede —
mai un [a, b] in stile flusso. Le stringhe vengono
avvolte in virgolette doppie solo quando lasciarle senza sarebbe
davvero ambiguo — vuote, che iniziano con un carattere
riservato, che contengono : (due punti più uno
spazio, che YAML tratterebbe come il proprio separatore), o che
coincidono con una parola chiave o un numero YAML. Tutto il
resto resta senza virgolette per leggibilità.
Esempio pratico
Input:
{"name": "Alice", "age": 30, "active": true, "tags": ["a", "b"], "address": {"city": "Rome", "zip": "00100"}, "note": "value: with colon"} diventa:
name: Alice age: 30 active: true tags: - a - b address: city: Rome zip: "00100" note: "value: with colon"
Nota che tags diventa una lista indentata corretta
invece di restare in linea, address diventa una
mappatura annidata con city e zip
indentati sotto di essa, il valore "00100" di zip viene messo tra virgolette perché altrimenti
verrebbe letto come un numero, e il valore di note viene messo tra virgolette perché : with colon contiene due punti seguiti da uno
spazio — esattamente la sequenza che YAML usa per separare una
chiave dal suo valore.
Domande frequenti
Perché il mio array appare come una lista indentata invece di [a, b]?
Questo convertitore usa sempre lo stile a blocchi di YAML, non lo stile di flusso — un array `tags` diventa una lista con prefisso `-` su righe proprie indentate, invece di un `[a, b]` in linea. Lo stile a blocchi è come si presenta la maggior parte dello YAML scritto a mano (e l'output della maggior parte degli strumenti YAML), e resta leggibile e facile da confrontare anche quando la lista è lunga.
Perché alcune delle mie stringhe sono tra virgolette e altre no?
Una stringa viene messa tra virgolette solo quando lasciarla senza sarebbe davvero ambiguo: se è vuota, inizia con un carattere riservato come `- ? : # & * ! | > ' " % @`, contiene `: ` (due punti seguiti da uno spazio, che YAML interpreterebbe come il proprio separatore chiave/valore), oppure verrebbe confusa con una parola chiave o un numero YAML — il testo letterale "true", "false", "null", oppure qualcosa come "123" o "00100" che viene interpretato come numero. Tutto il resto resta senza virgolette per leggibilità, perché le virgolette superflue aggiungono solo rumore visivo.
Questo strumento valida il mio JSON prima di convertirlo?
Sì — l'analisi passa attraverso JSON.parse, quindi un JSON non valido mostra il vero messaggio SyntaxError del browser invece di generare silenziosamente uno YAML rotto. Correggi il problema segnalato e la conversione riparte automaticamente.
Il mio JSON viene caricato da qualche parte?
No. L'analisi e la generazione dello YAML avvengono interamente nel tuo browser — nulla di ciò che incolli viene inviato, salvato o registrato su un server. Vale per ogni strumento di questo sito.
Cosa succede a oggetti e array vuoti?
Un oggetto vuoto diventa `{}` e un array vuoto diventa `[]`, scritti in linea sulla stessa riga della chiave che li possiede — esattamente come la sintassi dei contenitori vuoti di JSON, dato che non c'è nulla da elencare su righe separate.