ToolDecks TOML-verktyg låter dig formatera, validera och konvertera TOML-konfigurationsfiler direkt i webbläsaren — ingen installation, inget konto, ingen data skickas till någon server. TOML Formatter parsar din TOML-indata och serialiserar om den med konsekvent indragning, normaliserad nyckelordning och inline-valideringsfel som pekar ut syntaxproblem. TOML till JSON-omvandlaren transformerar TOML-dokument till motsvarande JSON, med bevarade datatyper inklusive datum/tid, inline-tabeller och tabellmatriser. Båda verktygen körs helt på klientsidan, så dina konfigurationsfiler — som ofta innehåller databasuppgifter, API-slutpunkter och driftsättningshemligheter — stannar på din dator. Om du behöver omvänd riktning hanterar JSON till TOML-omvandlaren i JSON-kategorin den konverteringen.
Vad är TOML-verktyg?
TOML (Tom's Obvious, Minimal Language) är ett konfigurationsfilformat byggt kring explicit och entydig syntax. Skapat av Tom Preston-Werner, medgrundare av GitHub, lanserades TOML första gången 2013 och nådde sin 1.0-specifikation i januari 2021. Formatet mappas entydigt till en hashtabell: varje TOML-fil definierar ett träd av nyckel-värde-par organiserade i tabeller (sektioner markerade med [hakparenteser]). Till skillnad från YAML förlitar sig TOML inte på indragning för struktur, vilket eliminerar en hel klass av blanksteg-relaterade tolkningsfel. Till skillnad från JSON stöder TOML kommentarer, inbyggda datum/tid-typer och flerradssträngar — funktioner som konfigurationsfiler behöver men som JSON aldrig var utformat för att tillhandahålla.
TOML-verktyg automatiserar det mekaniska arbetet med att läsa, validera och konvertera TOML-filer. Formateringsverktyg normaliserar indragning och nyckelordning så att konfigurationsfiler förblir läsbara i ett team, även när flera bidragsgivare redigerar samma fil. Konverteringsverktyg översätter mellan TOML och JSON, vilket är användbart när ett bibliotek eller ett API förväntar sig JSON-indata men källan är en TOML-konfiguration. Validering fångar syntaxfel — en saknad avslutande hakparentes, en duplicerad nyckel eller ett ogiltigt datum/tid-literal — innan de orsakar fel vid programstart.
Dessa uppgifter uppkommer ofta i Rust-projekt (där Cargo.toml är paketmanifestet), Python-paketering (pyproject.toml ersatte setup.py som standardkonfiguration för byggsystem i PEP 518 och PEP 621), Hugo-statiska webbplatser (som använder TOML för webbplatskonfiguration som standard) och all infrastrukturkonfiguration som lagras i TOML-filer. TOML-specifikationen underhålls på toml.io, och tolkare finns för alla större programmeringsspråk.
Varför använda TOML-verktyg på ToolDeck?
ToolDecks TOML-verktyg parsar och bearbetar allt inuti din webbläsarflik med JavaScript. Ingen konfigurationsdata överförs till en server, inget konto krävs och verktygen fungerar offline efter den inledande sidinläsningen.
🔒Privat som standard
Konfigurationsfiler innehåller ofta känsliga värden — databas-URL:er, API-nycklar, driftsättningsmål. ToolDeck bearbetar TOML helt på klientsidan, så ingenting lämnar din webbläsare. Säkert för egna projekt och interna infrastrukturkonfigurationer.
⚡Omedelbar återkoppling
Klistra in TOML, se formaterad utdata eller JSON direkt. Syntaxfel rapporteras med radnummer och beskrivningar. Ingen väntan på att ett CLI-verktyg ska installeras eller ett byggsteg ska slutföras.
🔄Korrekt typkonvertering
TOML till JSON-omvandlaren bevarar TOML-specifika typer som offset-datumtider, lokala datum och lokala tider som ISO 8601-strängar. Heltal- och flyttalsprecision bibehålls. Tabellmatriser mappas korrekt till JSON-matriser av objekt.
🌐Ingen installation krävs
Fungerar på vilken enhet som helst med en modern webbläsare. Användbart när du granskar en pull request på en dator utan din vanliga utvecklingsmiljö, eller när du snabbt behöver validera en kollegas TOML-fil.
Användningsfall för TOML-verktyg
TOML-formatering, validering och konvertering uppkommer i olika roller och projekttyper. Rust-utvecklare arbetar med Cargo.toml dagligen. Python-utvecklare konfigurerar byggsystem och verktyg via pyproject.toml. DevOps-ingenjörer hanterar applikationskonfiguration som levereras som TOML. Uppgifterna nedan visar var webbläsarbaserade TOML-verktyg sparar tid jämfört med att skriva ett engångsskript eller installera ett CLI-verktyg.
Städning av Cargo.toml
Efter att ha sammanfogat flera beroendeutökningar har ett Rust-projekts Cargo.toml inkonsekvent formatering. Kör det genom
TOML Formatter för att normalisera indragning och nyckelordning innan du checkar in.
pyproject.toml till JSON
En CI-pipeline behöver byggmetadata i JSON-format, men källan är pyproject.toml. Använd
TOML till JSON-omvandlaren för att generera JSON-representationen och verifiera mappningen innan du skriptar konverteringen i din pipeline.
Konfigurationsmigrering
Flytta en applikation från JSON-baserad konfiguration till TOML (eller vice versa).
TOML till JSON-omvandlaren låter dig jämföra de två representationerna sida vid sida för att bekräfta att datatyper, nästlade strukturer och matrissemantik bevaras.
Felsökning av syntax
En TOML-konfigurationsfil misslyckas att tolkas vid programstart med ett dunkelt felmeddelande. Klistra in den i
TOML Formatter för att få specifika rad- och kolumnnummer för syntaxfelet, plus en beskrivning av vad tolkaren förväntade sig.
Dokumentationsgenerering
Skriver dokumentation som inkluderar konfigurationsexempel i både TOML- och JSON-format. Konvertera det kanoniska TOML-exemplet via
TOML till JSON-omvandlaren så att båda versionerna hålls synkroniserade utan manuell transkription.
Lär dig TOML-syntax
Utvecklare som är nya på TOML kan experimentera med formatet genom att skriva TOML i
TOML Formatter, se valideringsfel i realtid och jämföra strukturen mot den formaterade utdatan. Det är snabbare än att enbart läsa specifikationen.
TOML-datatypsreferens
TOML v1.0 definierar följande datatyper. Varje typ mappas till en specifik representation vid konvertering till JSON. Tabellen nedan täcker syntax, exempel och konverteringsbeteende för varje TOML-typ.
| Typ | Syntax | Exempel | JSON-mappning |
|---|
| Sträng | "..." eller '...' | name = "TOML" | JSON-sträng. Grundläggande strängar stöder escape-sekvenser (\n, \t, \u). Litterala strängar ('...') behandlar snedstreck som litterala tecken. |
| Heltal | siffror, 0x, 0o, 0b | port = 8080 | JSON-nummer. Stöder hex (0xDEAD), oktal (0o755), binärt (0b1010) och understreck som tusentalsavgränsare (1_000). |
| Flyttal | siffror med . eller e | pi = 3.14159 | JSON-nummer. Stöder inf, -inf och nan (mappas till null eller sträng i JSON, eftersom JSON saknar NaN). |
| Boolesk | true / false | enabled = true | JSON-boolesk. Endast gemena true och false är giltiga. |
| Offset-datumtid | RFC 3339 | 2024-01-15T09:30:00Z | JSON-sträng (ISO 8601). Inkluderar tidszonsförskjutning. Ingen inbyggd JSON-datumtidstyp. |
| Lokal datumtid | datum T tid | 2024-01-15T09:30:00 | JSON-sträng. Ingen tidzonsinformation. Användbart för klockslastider. |
| Lokalt datum | ÅÅÅÅ-MM-DD | 2024-01-15 | JSON-sträng. Datum utan tidskomponent. |
| Lokal tid | TT:MM:SS | 09:30:00 | JSON-sträng. Tid utan datum eller tidszon. |
| Matris | [värde, ...] | ports = [8080, 8443] | JSON-matris. TOML-matriser kan vara heterogena i TOML v1.0 men måste vara homogena i v0.5. |
| Tabell | tomlCategoryContent.r10Syntax | [database] | JSON-objekt. Standardtabeller använder [hakparenteser]. Inline-tabeller använder klammerparenteser på en enda rad. |
TOML v1.0.0-specifikationen (toml.io) är den aktuella stabila versionen. Tabellmatriser använder [[dubbla hakparenteser]] för att definiera upprepade tabellposter, mappade till JSON-matriser av objekt.
Hur väljer du rätt TOML-verktyg?
ToolDeck har tre verktyg som arbetar med TOML-filer. Två finns i TOML-kategorin och ett finns i JSON-kategorin för omvänd konverteringsriktning. Välj det verktyg som matchar din uppgift.
- 1
Om du behöver justera indragning i en TOML-fil, normalisera nyckelordning eller validera TOML-syntax med radnivårapportering av fel → TOML Formatter - 2
Om du behöver konvertera en TOML-konfigurationsfil till JSON för användning i API:er, skript eller verktyg som förväntar sig JSON-indata → TOML to JSON Converter - 3
Om du behöver konvertera ett JSON-dokument till TOML-format för projekt som använder TOML som konfigurationsstandard → JSON to TOML Converter
För vardagligt TOML-arbete hanterar TOML Formatter formatering och validering i ett enda steg — klistra in din TOML, och den producerar antingen ren utdata eller berättar exakt var syntaxfelet finns. När du behöver brygga TOML och JSON bevarar TOML till JSON-omvandlaren alla TOML-datatyper inklusive datum/tid och nästlade tabeller. För omvänd riktning (JSON till TOML), använd JSON to TOML Converter i JSON-kategorin. Om du felsöker en konfiguration som misslyckas med att tolkas, börja med TOML Formatter: dess felmeddelanden innehåller radnummer och förväntade-token-beskrivningar som är mer specifika än vad de flesta applikationsnivå-TOML-tolkare rapporterar.
Vanliga frågor
Vad är skillnaden mellan TOML och YAML?
TOML använder explicit hakparentessyntax för tabeller och förlitar sig inte på indragning för struktur. YAML använder indragning för att definiera hierarki, vilket gör det känsligt för blankstegsfel — ett enda felplacerat mellanslag kan ändra den tolkade strukturen helt. TOML har också inbyggda datum/tid-typer och förbjuder duplicerade nycklar, medan YAML tyst använder det sista värdet när en nyckel förekommer två gånger. TOML föredras generellt för applikationskonfiguration, medan YAML är vanligare i Kubernetes-manifest och CI/CD-pipeline-definitioner där dess stöd för flera dokument och ankare/alias är användbart.
Vad är skillnaden mellan TOML och JSON?
JSON är ett datautbytesformat utformat för maskin-till-maskin-kommunikation. TOML är ett konfigurationsformat utformat för att människor ska läsa och redigera. TOML stöder kommentarer (rader som börjar med #), inbyggda datum/tid-typer, flerradssträngar och tabeller som minskar nästlingsdjup. JSON stöder inte kommentarer, har ingen datumtyp och kräver explicit nästling med klammerparenteser. JSON är rätt val för API-nyttolaster och datalagring; TOML är rätt val för konfigurationsfiler som människor redigerar för hand.
Kan TOML representera alla JSON-datastrukturer?
TOML kan representera de flesta JSON-strukturer, men det finns gränsfall. TOML stöder inte null-värden — det finns ingen TOML-motsvarighet till JSON null. TOML-nycklar måste vara strängar, vilket matchar JSON-objektnycklar. TOML-matriser var begränsade till homogena typer i v0.5, men TOML v1.0 tillåter matriser med blandade typer. Djupt nästlade JSON-objekt kan bli mångsidiga i TOML eftersom varje nästlingsnivå kräver ett separat tabellhuvud.
Vilka projekt använder TOML för konfiguration?
Rusts Cargo-byggsystem använder Cargo.toml som paketmanifest. Python antog pyproject.toml som standardkonfigurationsfil för byggsystem via PEP 518 (2016) och PEP 621 (2020). Hugo, den statiska webbplatsgeneratorn, använder TOML för webbplatskonfiguration som standard. InfluxDB använder TOML för sin serverkonfiguration. Go-modulsystemet övervägde TOML men valde ett eget format; dock använder många Go-projekt fortfarande TOML för applikationsnivåkonfiguration via bibliotek som BurntSushi/toml och pelletier/go-toml.
Hur hanterar TOML kommentarer?
TOML stöder helradskommentarer och kommentarer i slutet av raden med tecknet #. Allt från # till radens slut ignoreras av tolkaren. Kommentarer kan inte förekomma inuti flerradiga grundsträngar eller flerradiga litterala strängar. Vid konvertering av TOML till JSON kasseras kommentarer eftersom JSON saknar kommentarsyntax. Det innebär att en tur-och-retur från TOML till JSON och tillbaka till TOML förlorar alla kommentarer från originalfilen.
Vad är tabellmatriser i TOML?
Tabellmatriser använder [[dubbel hakparentes]]-syntax för att definiera upprepade poster av samma tabellstruktur. Till exempel skapar [[servers]] som förekommer två gånger en matris med två serverobjekt. I JSON mappas detta till en matris av objekt. Tabellmatriser används vanligen för listor av beroenden, serverdefinitioner eller plugin-konfigurationer där varje post har samma uppsättning nycklar.
Är TOML blankstegskänsligt?
TOML är inte indragningskänsligt. Indragning är rent kosmetisk och påverkar inte tolkning. TOML kräver dock radbrytningar för att separera nyckel-värde-par — du kan inte lägga två nyckel-värde-par på samma rad (utom inuti inline-tabeller). Inline-tabeller måste rymmas på en enda rad och kan inte innehålla radbrytningar. Denna design undviker de indragningsbaserade felen som är vanliga i YAML-filer.
Vad händer med TOML-datumtidsvärden vid konvertering till JSON?
JSON saknar inbyggd datumtidstyp, så TOML-datumtider konverteras till ISO 8601-strängar. Offset-datumtider (som 2024-01-15T09:30:00Z) behåller sin tidszonsförskjutning i strängrepresentationen. Lokala datumtider, lokala datum och lokala tider serialiseras var och en som strängar utan tidzonsinformation. Konverteringen är förlustfri i den meningen att det ursprungliga värdet kan tolkas tillbaka från strängen, men JSON-konsumenten måste veta att dessa strängar ska behandlas som datum snarare än godtycklig text.