Convertitore YAML ↔ JSON

Converte YAML in JSON e JSON in YAML, con riga e colonna di ogni errore.

Il modulo interattivo è disponibile quando JavaScript è attivo.

Come si usa

Scegli YAML → JSON o JSON → YAML e incolla il testo: il risultato compare mentre scrivi. Inverti rimette il risultato nella casella e cambia direzione, così andata e ritorno richiedono un clic. Indentazione imposta 2 o 4 spazi nel risultato.

Lo YAML viene letto con lo schema core di YAML 1.2, la versione attuale del linguaggio. Solo true e false sono booleani, null e ~ sono null e le date restano testo. Parole come yes, no, on e off erano booleani in YAML 1.1 e lo sono ancora per alcuni strumenti più vecchi; qui restano testo, e JSON → YAML le scrive tra virgolette perché anche quegli strumenti le leggano come testo.

Ancore e alias (&nome e *nome) e chiavi di unione (<<) vengono scritti per intero, perché JSON non ha riferimenti. I commenti si perdono: la specifica YAML li considera presentazione, non dati. Un file con più documenti separati da --- diventa una lista JSON, con un elemento per documento.

Quando l’input non è valido, lo strumento indica riga e colonna del problema, mostrando la riga con un accento circonflesso sotto il punto esatto. Tutto avviene nel browser con la libreria open source js-yaml e non viene caricato nulla.

Esempio

«production» prende le chiavi di «defaults» tramite <<, mantiene il proprio retries: 5, e off resta il testo "off", come prevede YAML 1.2.

  • debug: off → {"debug": "off"}In YAML 1.2, off è testo, non false.
  • <<: *defaultsCopia le chiavi della mappa con ancora; le chiavi scritte accanto hanno la precedenza.
  • a: 1, poi ---, poi b: 2Due documenti diventano la lista [{"a": 1}, {"b": 2}].
  • {"a": 1,}JSON non valido alla riga 1, colonna 8: JSON non ammette una virgola prima di }.

Domande frequenti

Il mio file viene caricato?

No. La conversione avviene nel browser e non viene inviato nulla, quindi i file di configurazione con nomi o indirizzi interni restano sul tuo dispositivo.

Perché yes o on non sono diventati true?

YAML 1.2 considera booleani solo true e false. Yes, no, on e off sono booleani solo nel vecchio YAML 1.1, quindi qui restano testo. Se ti serve un booleano, scrivi true o false.

Dove sono finiti i miei commenti?

JSON non ha commenti e la specifica YAML dice che i commenti non fanno parte dei dati. Si perdono passando a JSON e non tornano riconvertendo in YAML.

Perché un numero lungo è cambiato?

JavaScript memorizza i numeri JSON in virgola mobile a 64 bit, quindi gli interi oltre 9.007.199.254.740.991 perdono le ultime cifre. Scrivi gli identificativi lunghi tra virgolette perché restino testo.

Che cosa significa «unknown tag»?

Lo YAML usa un tag proprio, come !Ref o !GetAtt di AWS CloudFormation, che solo quello strumento capisce. Scrivi la forma estesa (Ref: o Fn::GetAtt:) e converti di nuovo.

Strumenti correlati