Validatore TOML
Convalidate i file TOML, come Cargo.toml, pyproject.toml o le impostazioni di Hugo e Netlify, prima che una compilazione non vada a buon fine a causa di errori. Il validatore analizza l’input secondo la specifica TOML e segnala il primo errore con la riga, la colonna e la spiegazione del parser, inclusi chiavi duplicate, tabelle ridefinite e date impossibili. Per i file validi mostra il numero di tabelle e chiavi e le chiavi di primo livello, così potete verificare la struttura a colpo d’occhio.
Domande frequenti
Che cosa controlla il validatore TOML?
Analizza chiavi, stringhe, numeri, valori booleani, date e orari, array, tabelle inline, tabelle e array di tabelle esattamente come definiti dalla specifica TOML. Ogni deviazione, come un valore mancante, una stringa senza virgolette o una sequenza di escape errata, viene segnalata come errore. Per i file validi viene fornito un breve riepilogo della struttura.
Quali informazioni contiene un errore?
Ogni errore mostra la riga e la colonna in cui l’analisi si è interrotta e una riga di dettagli del parser, per esempio una data non valida o il tentativo di ridefinire una tabella o un valore già definito. Le righe e le colonne partono da 1. Viene mostrato solo il primo errore, perché spesso quelli successivi ne derivano.
Perché una chiave o una tabella risulta ridefinita?
TOML non consente di ripetere la stessa chiave in una tabella, e un’intestazione di tabella come [server] può comparire una sola volta. Anche definire una chiave con punti come server.port dopo una tabella [server] in cui è già stata impostata la porta conta come ridefinizione. Per correggere il problema, riunite le voci in un unico punto.
Come vengono conteggiate le tabelle e le chiavi?
Il conteggio delle tabelle include tutte le tabelle sotto la radice, comprese quelle inline e ogni voce di un array di tabelle. Il conteggio delle chiavi include ogni chiave con un valore che non sia una tabella o un array di tabelle, quindi un elenco di stringhe conta come una sola chiave. Le chiavi di primo livello elencano i nomi presenti alla radice, fino a un massimo di 50.
Le date e gli orari vengono controllati?
Sì. Vengono convalidati date e orari con offset, date e orari locali, incluse combinazioni impossibili come il mese 13 o l’ora 25. Una data scritta in un altro formato, per esempio 05/27/1979, non è una data TOML e deve essere racchiusa tra virgolette come stringa.
Quali stringhe e sequenze di escape sono consentite?
Le stringhe di base tra virgolette doppie supportano sequenze di escape come \n, \t, \" e \uXXXX, mentre le stringhe letterali tra virgolette singole mantengono ogni carattere così com’è. Entrambi i tipi possono estendersi su più righe usando tre virgolette. Una sequenza di escape sconosciuta o una stringa non terminata viene segnalata con la relativa posizione.
Sono accettati numeri interi molto grandi?
Sì. Sono accettati numeri interi fino al limite a 64 bit della specifica TOML, come 9223372036854775807. I numeri interi oltre questo intervallo, gli zeri iniziali e i caratteri di sottolineatura non compresi tra cifre sono errori.
Un byte order mark o un fine riga Windows causa problemi?
No. Un byte order mark UTF-8 all’inizio viene ignorato e sono accettati sia i fine riga LF sia CRLF. I caratteri di controllo non sottoposti a escape all’interno delle stringhe vengono segnalati come errori.
Controlla il significato delle chiavi, come farebbero Cargo o Poetry?
No, il validatore controlla solo la sintassi e la struttura TOML. Un file può essere TOML valido e contenere comunque una chiave che Cargo o un backend di compilazione Python non riconosce. Usate lo strumento per escludere problemi di sintassi prima di esaminare le impostazioni specifiche degli strumenti.
Qual è la dimensione massima dell’input e posso convertirlo?
Gli input possono arrivare fino a 5 MiB e gli array annidati e le tabelle inline fino a 64 livelli di profondità. Per convertire un TOML valido in JSON, YAML o in un altro formato, usate il Convertitore di formati dati.