SuperDevTools

Convertire YAML in JSON e validare YAML

Conversione
Incolla del YAML, trascina un file .yaml o fai clic su «Esempio».
Dimensione del risultato
0
Documenti
0
Chiavi
0
Profondità
0

Tutto avviene nel browser: il tuo testo non viene inviato né salvato da nessuna parte. Nessun tag esegue codice.

Un convertitore YAML ↔ JSON che controlla anche il tuo file

Lo YAML si usa soprattutto per i file di configurazione: i servizi di un'applicazione, una pipeline di integrazione continua, le impostazioni di un server, i testi tradotti di un sito. Il JSON è il formato che si aspettano le API e molti programmi. Questo strumento converte l'uno nell'altro, valida lo YAML e indica ogni errore con riga e colonna. Tutto avviene nel browser: il testo non viene caricato su nessun server.

Come si usa

  1. Scegli la conversione: «YAML → JSON», «JSON → YAML» oppure «Formatta YAML» (riscrive in modo ordinato lo stesso file).
  2. Incolla il testo, fai clic su «Apri un file» o prova con «Esempio».
  3. Imposta l'«Indentazione del JSON» (2 spazi, 4 spazi, tabulazione o «Compatto (una riga)») oppure l'«Indentazione dello YAML» (2 o 4 spazi).
  4. Leggi lo stato: «YAML valido.», un elenco di avvisi oppure l'errore con un estratto evidenziato e il pulsante «Vai all'errore».
  5. Passa ad «Albero» per esplorare i dati, poi usa «Copia» o «Scarica».

YAML e JSON a confronto

I due formati contengono gli stessi dati. Lo YAML usa l'indentazione dove il JSON usa parentesi graffe, quadre e virgolette.

YAMLJSON ottenuto
servizio: web"servizio": "web"
repliche: 2"repliche": 2
debug: false"debug": false
porte: e sotto - "8080:80""porte": ["8080:80"]

Con «Compatto (una riga)» queste righe stanno in una sola riga JSON di 65 caratteri, senza nessuno spazio. Nel senso inverso lo strumento scrive YAML in stile a blocchi e mette le virgolette solo quando servono.

Le regole di sintassi essenziali

  • Dopo una chiave vengono i due punti e uno spazio: nome: valore.
  • L'annidamento si ottiene con l'indentazione, solo con spazi.
  • Un elemento di lista inizia con un trattino e uno spazio: - valore.
  • | conserva gli a capo di un testo, > li trasforma in spazi; - toglie l'a capo finale, + tiene tutte le righe vuote in fondo.
  • &nome definisce un'ancora, *nome la riusa e <<: *nome unisce un oggetto; --- separa i documenti, che il JSON raccoglie in un array.
  • Un commento inizia con uno spazio e poi #.

Errori frequenti e trappole

Le tabulazioni non sono ammesse nell'indentazione: a: seguito da una riga che inizia con una tabulazione viene segnalato alla riga 2, colonna 1. Una riga spostata di uno spazio rompe la struttura. Un valore con due punti e spazio, come titolo: Nota: importante, viene rifiutato alla colonna 13; scrivi titolo: "Nota: importante".

La trappola più nota è il «problema della Norvegia»: in YAML 1.1 paese: NO diventa il booleano false, come yes, no, on e off. Lo strumento segue YAML 1.2, la versione attuale, in cui solo true e false sono booleani: NO resta quindi il testo «NO». Poiché molti programmi leggono ancora YAML 1.1, un avviso consiglia le virgolette. Altri avvisi riguardano le chiavi duplicate (vince l'ultimo valore) e i numeri ingannevoli: il CAP cap: 00184 diventa 184 e versione: 3.10 diventa 3.1.

Sicurezza

Non caricare mai uno YAML di provenienza sconosciuta con un caricatore capace di creare oggetti del linguaggio a partire dai tag: usa sempre il caricatore «sicuro» del tuo linguaggio. Qui i tag non standard vengono solo segnalati e mai eseguiti, e gli alias che aggiungerebbero più di 1.000.000 di nodi (l'attacco «billion laughs») interrompono la lettura.

Domande frequenti

I commenti finiscono nel JSON?

No, il JSON non prevede commenti. Anche «Formatta YAML» non li conserva e sostituisce ogni alias con il suo contenuto.

Perché "3.10" è tra virgolette nello YAML prodotto?

Senza virgolette, 3.10 verrebbe letto come il numero 3,1. Lo strumento mette tra virgolette ogni stringa che sembra un numero, un booleano o null.

I numeri interi molto grandi restano esatti?

Sì. 12345678901234567890 viene copiato cifra per cifra, senza l'arrotondamento abituale dei browser.

Quanto può essere grande il file?

Fino a 20 MB. L'analisi avviene in background e la pagina resta utilizzabile.