TOML-validator
Validér TOML-filer som Cargo.toml, pyproject.toml eller Hugo- og Netlify-indstillinger, før et build fejler på grund af dem. Validatoren parser inputtet efter TOML-specifikationen og rapporterer den første fejl med linje, kolonne og parserens forklaring, herunder dublerede nøgler, omdefinerede tabeller og umulige datoer. Gyldige filer viser antallet af tabeller og nøgler samt nøglerne på øverste niveau, så du hurtigt kan bekræfte strukturen.
Ofte stillede spørgsmål
Hvad kontrollerer TOML-validatoren?
Den parser nøgler, strenge, tal, booleske værdier, datoer og klokkeslæt, arrays, inline-tabeller, tabeller og arrays af tabeller præcis som defineret i TOML-specifikationen. Enhver afvigelse, såsom en manglende værdi, en streng uden citationstegn eller en ugyldig escape-sekvens, rapporteres som en fejl. Gyldige filer får en kort opsummering af deres struktur.
Hvilke oplysninger indeholder en fejl?
Hver fejl viser linjen og kolonnen, hvor parsningen stoppede, samt en detaljelinje fra parseren, for eksempel ugyldig dato eller forsøg på at omdefinere en allerede defineret tabel eller værdi. Linjer og kolonner starter ved 1. Kun den første fejl vises, fordi senere fejl ofte skyldes den.
Hvorfor rapporteres en nøgle eller tabel som omdefineret?
TOML tillader ikke den samme nøgle to gange i en tabel, og en tabeloverskrift som [server] må kun forekomme én gang. At definere en nøgle med punktum som server.port efter en [server]-tabel, der allerede har angivet port, tæller også som en omdefinering. Saml posterne ét sted for at løse problemet.
Hvordan tælles tabeller og nøgler?
Tabeller tæller hver tabel under roden, herunder inline-tabeller og hver post i et array af tabeller. Nøgler tæller hver nøgle, der indeholder en anden værdi end en tabel eller et array af tabeller, så en liste med strenge tæller som én nøgle. Nøgler på øverste niveau viser navnene ved roden, op til 50 af dem.
Kontrolleres datoer og klokkeslæt?
Ja. Dato- og klokkeslæt med tidszoneforskydning samt lokale datoer og klokkeslæt valideres alle, herunder umulige værdier som måned 13 eller time 25. En dato skrevet i et andet format, for eksempel 05/27/1979, er ikke en TOML-dato og skal stå i citationstegn som en streng.
Hvilke strenge og escape-sekvenser er tilladt?
Grundlæggende strenge i dobbelte citationstegn understøtter escape-sekvenser som \n, \t, \" og \uXXXX, mens bogstavelige strenge i enkelte citationstegn tager hvert tegn, som det er skrevet. Begge typer findes også i flerliniers form med tre citationstegn. En ukendt escape-sekvens eller en uafsluttet streng rapporteres med sin position.
Accepteres meget store heltal?
Ja. Heltal op til 64-bit-grænsen i TOML-specifikationen, såsom 9223372036854775807, accepteres. Heltal uden for dette interval, indledende nuller og understregninger, der ikke står mellem cifre, er fejl.
Giver et byte order mark eller linjeskiftet Windows problemer?
Nej. Et UTF-8-byte order mark i begyndelsen ignoreres, og både LF- og CRLF-linjeskift accepteres. Kontroltegn i strenge, som ikke er escaped, rapporteres som fejl.
Kontrollerer den betydningen af nøgler, sådan som Cargo eller Poetry ville gøre?
Nej, validatoren kontrollerer kun TOML-syntaks og struktur. En fil kan være gyldig TOML og stadig indeholde en nøgle, som Cargo eller en Python-build-backend ikke forstår. Brug værktøjet til at udelukke syntaksproblemer, før du undersøger værktøjsspecifikke indstillinger.
Hvor stort kan inputtet være, og kan jeg konvertere det?
Input kan være op til 5 MiB, og indlejrede arrays og inline-tabeller kan være op til 64 niveauer dybe. Hvis du vil konvertere gyldig TOML til JSON, YAML eller et andet format, skal du bruge Data Format Converter.