Vai al contenuto
helpyself

YAML in JSON

Local only — nothing is uploaded unless you save or share it.

Converti un file di configurazione in JSON, o il JSON di nuovo in YAML leggibile.

  1. Incolla il tuo YAML, oppure il JSON se vuoi andare nell'altro senso
  2. Scegli l'indentazione e se ordinare le chiavi per confrontare due file
  3. Converti, poi copia o scarica il risultato

Condividi un link

Salva il risultato nei tuoi file e ti dà un indirizzo che chiunque può aprire. Smette di funzionare da solo.

Il link dura
Salva questo strumento

Tieni YAML in JSON a portata di mano

Aggiungi ai preferiti

Su questo strumento

In YAML si scrive la configurazione e il JSON è ciò che quasi tutto legge, quindi questa conversione sta fra un file che una persona modifica e un programma che lo consuma. Lo YAML è molto meno semplice di quanto sembri. Le ancore permettono di riusare un blocco altrove, gli scalari a blocco piegano o preservano gli a capo a seconda di un solo segno di punteggiatura, la tipizzazione implicita trasforma in silenzio la parola no in false, e un file può contenere più documenti separati da tre trattini. Un parser approssimativo gestisce buona parte di tutto ciò e fallisce in silenzio sul resto, producendo un JSON dall'aria valida con dentro i valori sbagliati, perciò qui si usa un'implementazione YAML completa. La parte di cui la gente ha davvero più bisogno è il messaggio d'errore. Quasi ogni errore YAML è un errore di indentazione, e gli errori di indentazione si notano diverse righe sotto il punto in cui sono stati commessi, quindi viene indicato il numero di riga invece di una lamentela generica sul fatto che qualcosa non va. Quando un file contiene più documenti diventano un array JSON e te lo si dice, perché tenere solo il primo perderebbe dati senza una parola. Tutto gira nel tuo browser.

Domande frequenti

Perché il mio YAML fallisce diverse righe sotto l'errore?

Perché l'indentazione è la struttura. Un blocco indentato di uno spazio in più resta valido finché qualcosa più avanti non lo contraddice, ed è lì che il parser finalmente protesta. Parti dalla riga segnalata e risali fino all'ultima riga della cui indentazione sei sicuro.

Converte anche da JSON a YAML?

In entrambi i sensi. Da JSON a YAML è quello che si vuole quando un file di configurazione dev'essere modificato da una persona: spariscono virgolette e parentesi, l'indentazione porta la struttura. Converti lo YAML nell'altro senso quando un programma vuole JSON. Come parser YAML fa anche da validatore: un file che non si analizza ti dice la riga invece di fallire in silenzio più avanti.

Che succede a un file con più documenti dentro?

Diventano un array JSON, una voce per documento, e il conteggio è mostrato sopra il risultato. Il JSON non ha modo di esprimere un separatore di documenti, e tenere solo il primo scarterebbe il resto in silenzio, quindi il cambiamento viene reso visibile.

Perché la parola no è diventata false?

È lo YAML che fa quello che è specificato. In YAML 1.1 le parole yes, no, on e off sono booleani, cosa che sorprende chi ha un codice paese o un campo di risposta. Metti il valore fra virgolette nel tuo YAML se vuoi che resti una stringa.

Perché dovrei ordinare le chiavi?

Per confrontare due versioni della stessa configurazione. Una scritta a mano e una prodotta da uno strumento elencheranno le stesse impostazioni in ordini diversi, e un confronto fra le due è illeggibile. Ordinandole entrambe ogni chiave finisce nello stesso posto, così si vedono solo le differenze reali.

I commenti vengono mantenuti nella conversione?

No, e non possono esserlo. Il JSON non ha una sintassi per i commenti, quindi tutto ciò che segue un cancelletto si perde nel passaggio. Riconvertire il JSON in YAML produce un file pulito senza i commenti originali, cosa che vale la pena sapere prima di sovrascrivere il file di partenza.

Aiutaci a migliorare questo strumento

Hai trovato un errore, vuoi una modifica, o ti manca uno strumento?

/yaml-to-json

↑↓ per muoverti · Invio per aprire · Esc per chiudere