Convertitore da JSON a YAML
Converti JSON in YAML e YAML in JSON nel browser, con supporto di anchor, merge key e file con più documenti. Nulla viene caricato.
Come usare il convertitore da JSON a YAML
- Scegli la direzione: JSON → YAML oppure YAML → JSON.
- Incolla i tuoi dati, oppure clicca su Apri un file per caricare un file
.json,.yamlo.yml(fino a 10 MB). - Scegli l’Indentazione (2 o 4 spazi) e, se vuoi, Ordina le chiavi in ordine alfabetico.
- Clicca su Converti, o continua semplicemente a scrivere: il risultato si aggiorna da solo. Se l’input non è valido, il messaggio di errore indica la riga e la colonna del problema.
- Copia o scarica il risultato. Inverti la direzione rimanda l’output nell’input per convertirlo nell’altro senso.
JSON e YAML: stessi dati, sintassi diversa
In pratica YAML è un soprainsieme di JSON: ogni documento JSON descrive dati che YAML può esprimere, e YAML aggiunge una sintassi più leggera, più facile da leggere e modificare per le persone. Ecco perché i manifest di Kubernetes, i file Docker Compose, le pipeline di GitHub Actions e GitLab CI, i playbook Ansible e le specifiche OpenAPI sono di solito scritti in YAML, mentre API e programmi si scambiano JSON.
Gli stessi dati nei due formati:
{"name": "web", "ports": [80, 443], "env": {"DEBUG": false}}
name: web
ports:
- 80
- 443
env:
DEBUG: false
Da JSON a YAML
Il convertitore scrive YAML in stile a blocchi: una chiave per riga, elenchi con i trattini e oggetti annidati indentati. Le stringhe lunghe non vengono mai spezzate, e le stringhe su più righe usano lo stile letterale |, così gli a capo restano esattamente come sono. Le stringhe che YAML leggerebbe altrimenti come un altro tipo vengono messe tra virgolette: "yes", "1.0" o "null" restano stringhe dopo un’andata e ritorno. Ordina le chiavi mette in ordine alfabetico le chiavi di ogni oggetto, il che rende più facile confrontare due file di configurazione.
Da YAML a JSON
Lo YAML viene letto con il core schema di YAML 1.2, le stesse regole usate dalla maggior parte degli strumenti moderni:
true/false, i numeri enull(o~) diventano valori JSON;yes,no,oneoffrestano stringhe, come richiede la specifica YAML 1.2.- Anchor e alias (
&base,*base) vengono espansi, e le merge key (<<: *base), frequenti nei file di CI, sono supportate. - Un file con più documenti separati da
---diventa un array JSON con un elemento per documento, e un messaggio ti dice quanti ne sono stati riuniti. - I commenti vengono scartati, perché JSON non ha commenti.
.infe.nannon hanno un equivalente JSON; vengono scritti come le stringhe"Infinity"e"NaN".
Per proteggere il tuo browser dai file “billion laughs”, in cui pochi alias si espandono in miliardi di valori, un documento che si espande in più di un milione di valori viene rifiutato.
Errori YAML comuni
- Tabulazioni per l’indentazione: YAML ammette solo spazi.
- Indentazione incoerente: gli elementi dello stesso elenco o oggetto devono iniziare nella stessa colonna.
- Spazio mancante dopo i due punti:
chiave:valoreè un’unica stringa, mentrechiave: valoreè una coppia chiave-valore. - Caratteri speciali senza virgolette: un valore che inizia con
@, un backtick,*,&o!, o che contiene:o#, va messo tra virgolette.
Domande frequenti
Il mio file viene inviato a un server?
No. La conversione avviene nel tuo browser, e i tuoi file di configurazione, i segreti o i dati delle API non lasciano mai il tuo computer.
Perché "yes" e "no" non vengono convertiti in booleani?
Da YAML 1.2, solo true e false sono booleani. I vecchi parser YAML 1.1 trattavano yes, no, on e off come booleani, causando il famoso “problema della Norvegia” (il codice paese NO letto come false). Questo strumento segue YAML 1.2.
I commenti YAML vengono conservati?
No. JSON non ha commenti, quindi vanno persi in YAML → JSON. Quando converti JSON → YAML, puoi aggiungere commenti al risultato in seguito.
Posso convertire un file Kubernetes con più risorse?
Sì. Ogni risorsa separata da --- diventa un elemento di un array JSON. Riconvertendo quell’array in YAML ottieni un unico documento che contiene un elenco.
Il convertitore cambia l'ordine delle chiavi?
No, a meno che tu non spunti Ordina le chiavi: le chiavi mantengono l’ordine in cui compaiono nel tuo input. L’unica eccezione viene da JavaScript stesso: le chiavi che sono numeri interi, come "10" o "2", vengono messe per prime, in ordine crescente.
Strumenti correlati
- Formattatore e validatore JSON Formattatore e validatore JSON gratuito che formatta, minifica e controlla il JSON nel browser, con gli errori di sintassi indicati per riga e colonna.
- Convertitore da JSON a CSV Converti JSON in CSV e CSV in JSON nel browser. Le chiavi annidate diventano colonne, il delimitatore viene rilevato e nulla viene caricato.
- Convertitore da JSON a XML Converti JSON in XML e XML in JSON nel browser, con gestione di attributi, elementi ripetuti e CDATA. Nulla viene caricato su un server.