Conversione JSON ⇄ YAML
JSON ⇄ YAML
Converte nei due sensi conservando l’ordine delle chiavi e scegliendo per il lato YAML lo stile a blocchi o quello in linea.
Converte fra YAML, JSON e TOML in qualunque direzione, nel browser. I parser sono scritti per questo sito invece di essere presi da npm, ed è il motivo per cui la pagina può elencare esattamente che cosa rifiuta — ancore, tag, flussi multi-documento — invece di leggerli male in silenzio.
Ingresso
Trascina un file .yaml, .json o .toml
Letto in questa scheda. Non viene caricato niente.
JSON in uscita
Sono scritti qui invece che presi da npm, il che vuol dire che il sottoinsieme è scelto e non ereditato. Tutto quello che sta in questo elenco viene rifiutato per nome invece di essere letto male.
Come si usa
Incollare la configurazione
Il formato viene riconosciuto dal testo, e l’etichetta sotto il selettore dice quale è stato scelto. Se l’ipotesi è sbagliata la si forza a mano: un file JSON è anche YAML valido, quindi un documento `{ }` può andare da entrambe le parti.
Scegliere la destinazione
YAML per un manifest Kubernetes o un file di CI, JSON per tutto quello che viene analizzato da un programma, TOML per il file di progetto di Rust o di Python.
Leggere gli avvisi, non solo l’uscita
Una conversione riuscita può comunque aver cambiato significato: un `null` scartato entrando in TOML, un `yes` letto come la stringa che è secondo YAML 1.2. Compaiono in una nota sotto l’uscita invece di restare nascosti.
Aprire l’elenco della copertura quando qualcosa viene rifiutato
La sezione richiusa in fondo nomina ogni costrutto che questi parser non gestiscono, e perché. Un rifiuto rimanda a quell’elenco invece di fallire con un errore di parser da interpretare.
Domande frequenti
Perché le mie ancore e i miei alias vengono rifiutati?
Perché espandere `*base` correttamente vuol dire implementare la semantica di merge di YAML, e sbagliarla di poco produce un file che sembra giusto e mette in produzione un’altra cosa. Espanderle a mano prima di incollare è affidabile; indovinare qui non lo è. Lo stesso motivo vale per `<<: *base`.
Perché `yes` è diventato una stringa?
Perché lo schema core di YAML 1.2 dice che lo è: solo `true` e `false` sono booleani. I parser YAML 1.1, alcuni dei quali ancora in produzione, lo leggono come booleano. La differenza viene annunciata negli avvisi quando capita, perché è esattamente il genere di cosa che cambia un rilascio.
Che cosa succede a un `null` che va verso TOML?
Viene scartato e un avviso lo dice. TOML non ha proprio un valore null, quindi le scelte erano omettere la chiave oppure inventare un segnaposto, e inventarne uno metterebbe una stringa `"null"` letterale nella configurazione di qualcuno.
I commenti vengono conservati?
No. La conversione passa per un modello di dati, e i commenti non sono dati — JSON non ha proprio un posto dove metterli. Se servono i commenti, i formattatori YAML e TOML di questo sito reindentano sul posto e li conservano.
Può ricevere da
Formattatore e validatore JSON
JSON Formatter & Validator
Formatta, minifica e valida il JSON, indicando riga e colonna esatte di un errore di sintassi.
Formattatore e validatore YAML
YAML Formatter & Validator
Riporta il YAML a un’indentazione coerente, lo valida e segnala gli errori di tabulazione e di ancora che rompono i parser.
Conversione JSON ⇄ TOML
JSON ⇄ TOML
Converte fra JSON e TOML, facendo corrispondere gli oggetti annidati alle intestazioni di tabella.
Formattatore e validatore TOML
TOML Formatter & Validator
Formatta e valida il TOML, uniformando l’ordine delle tabelle e lo stile delle tabelle in linea.
Dopo
Questi accettano ciò che produce questo strumento, così il risultato può passare direttamente.
Formattatore e validatore JSON
JSON Formatter & Validator
Formatta, minifica e valida il JSON, indicando riga e colonna esatte di un errore di sintassi.
Validatore di JSON Schema
JSON Schema Validator
Valida un documento rispetto a un JSON Schema e riporta ogni errore con il percorso dell’istanza.
Conversione JSON ⇄ TOML
JSON ⇄ TOML
Converte fra JSON e TOML, facendo corrispondere gli oggetti annidati alle intestazioni di tabella.
Formattatore e validatore YAML
YAML Formatter & Validator
Riporta il YAML a un’indentazione coerente, lo valida e segnala gli errori di tabulazione e di ancora che rompono i parser.
Codificatore e decodificatore Base64
Base64 Encoder & Decoder
Codifica e decodifica in Base64 e Base64URL testo o file, trattando correttamente l’UTF-8.
Da curl a codice
curl to Code
Converte un comando curl in fetch, axios, requests di Python, Go, PHP o PowerShell.