CodeKitHub
Strumenti JSON

Convertitore JSON ↔ YAML

Ultimo aggiornamento:

Questo strumento converte JSON in YAML e YAML in JSON, in entrambe le direzioni, interamente nel tuo browser. Incolla i tuoi dati, scegli una direzione e ottieni un output pulito e correttamente indentato — utile per modificare manifest Kubernetes, file Docker Compose, workflow di GitHub Actions o qualsiasi configurazione salvata come YAML ma più facile da generare o ispezionare come JSON.

Che cos'è questo strumento?

YAML è il formato preferito per la maggior parte dei file di configurazione moderni — manifest Kubernetes, Docker Compose, pipeline GitHub Actions e GitLab CI, playbook Ansible — perché è più leggibile del JSON per chi modifica i file a mano: non servono virgolette intorno alla maggior parte delle chiavi, niente virgole finali sbagliate, e sono supportati i commenti. Il JSON, invece, è ciò che la maggior parte delle API e dei linguaggi di programmazione produce e consuma nativamente.

Questo strumento fa da ponte tra i due usando js-yaml, un'implementazione JavaScript ampiamente usata della specifica YAML, quindi l'analisi e la generazione seguono le stesse regole che applicherebbe uno strumento compatibile con YAML come `kubectl` o un runner CI.

Convertire JSON in YAML trasforma gli oggetti in blocchi indentati chiave: valore e gli array in elementi di lista con prefisso `-`. Convertire YAML in JSON fa il contrario, e risolve anche le scorciatoie di tipo specifiche di YAML (come `true`, `null` o numeri senza virgolette) nei loro tipi JSON corretti.

Perché usarlo?

  • Bidirezionale — converti JSON in YAML o YAML in JSON dalla stessa schermata.
  • Analisi e generazione basate su standard tramite js-yaml, così l'output corrisponde a ciò che si aspettano gli strumenti YAML reali (Kubernetes, sistemi CI, Ansible).
  • Gestisce oggetti e array annidati a qualsiasi profondità, convertendo tra la struttura basata sull'indentazione di YAML e le parentesi graffe e quadre di JSON.
  • Interpreta correttamente le scorciatoie di tipo YAML — i valori true/false, null e numerici senza virgolette diventano i loro tipi JSON corretti anziché stringhe.
  • Copia negli appunti o scarica come file .json o .yaml.
  • 100% lato client — nulla di ciò che incolli viene caricato da nessuna parte.

Come si usa

  1. Scegli una direzione: "JSON → YAML" o "YAML → JSON".
  2. Incolla i tuoi dati nella casella di input.
  3. Clicca su "Converti".
  4. Controlla il risultato, poi copialo oppure clicca su "Scarica" per salvare un file.

Esempio

Input

{"name":"Alice","roles":["admin","editor"],"active":true}

Risultato

name: Alice
roles:
  - admin
  - editor
active: true

Nota come l'array diventi un elenco di elementi con trattino sotto "roles", e come il booleano resti true senza virgolette invece di diventare la stringa "true".

Consigli pratici

  • Scrivere un manifest Kubernetes o un workflow GitHub Actions: abbozza la struttura come JSON (molti editor e strumenti AI generano JSON in modo più affidabile), poi convertila in YAML per il file finale.
  • Fare debug di una configurazione YAML che si comporta male: convertila in JSON per vedere esattamente quali valori sono stringhe, numeri o booleani — la sintassi flessibile di YAML può nascondere discrepanze di tipo che nel JSON risultano evidenti.
  • Se il tuo JSON contiene chiavi con caratteri speciali o che iniziano con un numero, js-yaml le metterà automaticamente tra virgolette nell'output YAML in modo che vengano analizzate correttamente al ritorno.

Perché la coercizione di tipo è la parte più insidiosa di YAML

Il più grande vantaggio di usabilità di YAML rispetto a JSON — non richiedere virgolette per la maggior parte dei valori — è anche la sua più grande fonte di bug subdoli. L'esempio classico è il "problema della Norvegia": in YAML 1.1 (usato da molti parser più datati), un valore senza virgolette `no` viene interpretato come il booleano `false`, non come la stringa "no", il che ha rotto configurazioni reali che elencavano il codice paese della Norvegia. Questo strumento segue la specifica YAML 1.2, che ha ristretto l'insieme dei valori senza virgolette trattati come booleani a soli `true` e `false` (e le loro varianti di maiuscolo/minuscolo), riducendo — anche se non eliminando — questo tipo di sorprese. In caso di dubbio su come verrà tipizzato un valore, la scelta più sicura è metterlo esplicitamente tra virgolette nel tuo YAML.

Domande frequenti

I commenti YAML vengono preservati convertendo in JSON e poi di nuovo indietro?

No. JSON non ha il concetto di commenti, quindi convertire YAML in JSON scarta qualsiasi commento # presente nell'origine. Se riconverti quel JSON in YAML, i commenti non riappariranno — è un limite intrinseco del formato, non un bug dello strumento.

Come gestisce lo strumento gli anchor e gli alias YAML (& e *)?

Il parser sottostante (js-yaml) risolve anchor e alias prima di produrre il JSON, quindi un file YAML che usa anchor & e alias * per riutilizzare un blocco di dati verrà convertito in JSON con quei dati espansi per intero in ogni punto in cui vengono referenziati.

Perché il mio numero YAML è diventato una stringa in JSON, o viceversa?

Se un valore è racchiuso tra virgolette nell'origine YAML (ad es. version: "3.10"), viene trattato intenzionalmente come stringa — questo è importante perché i numeri YAML senza virgolette come 3.10 possono perdere lo zero finale quando vengono analizzati come float. Metti tra virgolette un valore nel YAML di origine se hai bisogno specificamente che venga trattato come testo.

Posso convertire un file YAML con più documenti (separati da ---)?

Questo strumento converte un solo documento YAML alla volta. Se il tuo file ha più documenti separati da marcatori ---, converti una sezione alla volta, oppure rimuovi i separatori e uniscili in un unico documento prima, se questo si adatta al tuo caso d'uso.

I miei dati vengono caricati da qualche parte?

No. La conversione avviene interamente nel tuo browser tramite la libreria js-yaml — nulla viene inviato a un server, il che la rende sicura da usare con file di configurazione reali, inclusi quelli con hostname interni o dettagli infrastrutturali.

Strumenti correlati