TOML till JSON
Rusts Cargo.toml, Pythons pyproject.toml, Hugos config.toml: TOML finns överallt i den moderna konfigvärlden, men många verktyg talar fortfarande bara JSON. Klistra in din TOML här och få prydligt formaterad JSON tillbaka: [tabell]-sektioner blir nästlade objekt, [[arrayer av tabeller]] blir arrayer av objekt, och datum passerar oförändrade som strängar. Tolken täcker TOML:s vardagskärna; dess verkliga begränsningar (flerradiga värden, inline-tabeller, nycklar med punkter) listas öppet nedan.
Så fungerar konverteringen
-
1
Klistra in din TOML
Lägg texten i inmatningsrutan och tryck på Konvertera till JSON. Kommentarer med # som tar upp hela raden hoppas över automatiskt.
-
2
Tabeller blir objekt
En `[server.database]`-rubrik blir nästlade JSON-objekt, en nivå per punktavgränsat namn.
-
3
Arrayer av tabeller blir arrayer
`[[users]]`-block bygger en JSON-array med ett objekt per block.
-
4
Skalära värden behåller sin typ
Citerade strängar, enkla decimala heltal och flyttal samt true/false blir inbyggda JSON-typer; datum förblir strängar, exakt som de skrevs.
-
5
Kopiera JSON
Resultatet formateras med 4 mellanslags indrag, nycklarna behåller sin ursprungliga ordning och allt är redo att kopiera.
Så mappas typerna
| TOML-värde | JSON-värde | Exempel |
|---|---|---|
| Sträng (basic eller literal) | Sträng | "hello" → "hello" |
| Heltal (enkelt decimalt) | Tal | 42 → 42 |
| Flyttal (enkelt decimalt) | Tal | 3.14 → 3.14 |
| Boolesk | Boolesk | true → true |
| Array (en rad) | Array | [1, 2, 3] → [1, 2, 3] |
| Tabell med nycklar | Objekt | [server] + port = 8080 → "server": {"port": 8080} |
| Array av tabeller | Array av objekt | [[users]] + name = "alice" → "users": [{"name": "alice"}] |
| Datum/tid | Sträng, som skriven | 2026-04-18T10:00:00Z → "2026-04-18T10:00:00Z" |
Utdata formateras alltid med 4 mellanslags indrag, så arrayer och objekt sträcker sig över flera rader; tabellen ovan visar värdena på en rad för läsbarhetens skull. Nyckelordningen bevaras exakt som den står i din TOML.
Genomarbetat exempel
title = "My App"
[server]
host = "localhost"
port = 8080
[[users]]
name = "alice"
admin = true
konverteras till:
{
"title": "My App",
"server": {
"host": "localhost",
"port": 8080
},
"users": [
{
"name": "alice",
"admin": true
}
]
}
TOML som stöds, och de verkliga begränsningarna
Stöds: [tabell]-rubriker inklusive punktavgränsade sektionsnamn, [[arrayer av tabeller]], key = value-par på en rad, basic-strängar "..." med escapesekvenserna \n, \t och \", literal-strängar '...', enkla decimala heltal och flyttal, true/false, enradiga arrayer (nästling tillåten), helradskommentarer med #, samt datum som passerar som strängar.
Stöds inte, och vad du gör i stället:
- Flerradiga strängar (
"""eller''') och flerradiga arrayer stoppar tolken med ett fel. Lägg värdet på en enda rad först. - Inline-tabeller expanderas inte:
point = { x = 1, y = 2 }kommer ut som strängen"{ x = 1, y = 2 }", inte som ett objekt. Skriv om den som en egen[point]-sektion. Beroenderader i Cargo.toml, somserde = { version = "1.0" }, är klassikern. - Nycklar med punkter till vänster om likhetstecknet förblir en platt nyckel:
server.host = "a"ger nyckeln"server.host", utan nästling. Använd en[server]-rubrik i stället. Punktavgränsade[sektions.namn]i rubriker nästlas däremot korrekt. - Kommentarer efter ett värde tas inte bort:
port = 8080 # mainblir strängen"8080 # main". Håll kommentarer på egna rader. - Talformat utöver enkla decimaler känns inte igen:
1_000,0xFF,5e2,+99,infochnankommer ut som citerade strängar. Skriv1000,255,500,99. \uXXXX-escaper i basic-strängar avkodas inte. Klistra in det riktiga tecknet i stället.
För ett komplett TOML 1.0-dokument, använd en kommandoradskonverterare som toml2json, eller läs in filen med Pythons tomllib och skriv ut JSON därifrån.
Här är det användbart
- Snabb inspektion av ett TOML-fragment som JSON under felsökning.
- Skicka enkla konfigurationsvärden till lintrar, skript eller inventarieverktyg som bara accepterar JSON.
- Generera JSON-testfixturer från TOML-anteckningar som är lättare att skriva för hand.
- Migrera små, platta konfigurationsfiler, vilket många av Hugos
config.tomlär.
Anteckningar om tur och retur
- Kommentarer överlever aldrig: JSON har ingen kommentarsyntax alls.
- Datum förblir strängar; koden längre fram måste tolka dem tillbaka till datumobjekt.
- Stora tal: heltal bevaras som 64-bitarsvärden i JSON-texten, men JavaScript-konsumenter tappar precision över 2^53. Se upp med tidsstämplar i nanosekunder och numeriska ID:n.
- Nyckelordningen bevaras som skriven av den här omvandlaren; andra JSON-verktyg kan sortera om nycklar när de skriver ut dokumentet på nytt.
Omvänd riktning
JSON → TOML är den svårare resan, eftersom JSON har strukturer (djup anonym nästling, null) som TOML saknar eller hanterar annorlunda. De flesta tur-och-retur-scenarier kräver manuella justeringar på TOML-sidan.
Vanliga frågor
Nej. JSON har ingen kommentarsyntax, så helradskommentarer med # hoppas helt enkelt över. En varning: en kommentar efter ett värde tas inte bort, så port = 8080 # main blir strängen “8080 # main”. Håll kommentarer på egna rader innan du konverterar.
Nej. Den täcker vardagskärnan: tabeller med punktavgränsade sektionsnamn, arrayer av tabeller, key = value-par på en rad, citerade strängar, enkla decimaltal, booleska värden, enradiga arrayer och helradskommentarer. Flerradiga strängar och arrayer, inline-tabeller, nycklar med punkter och talformat som 1_000 eller 0xFF stöds inte. För dokument enligt hela specifikationen, använd ett CLI-verktyg som toml2json eller Pythons tomllib.
Vanliga konfigurationsfiler konverteras direkt. Konverteringen körs på vår server, så enorma dokument begränsas av förfrågans storlek; för TOML på flera megabyte passar en kommandoradskonverterare bättre.
Ja, den här omvandlaren körs på serversidan: din TOML skickas till vår server via HTTPS, konverteras där och kommer tillbaka i samma svar. Innehållet lagras inte efteråt; bara en anonym användningsräknare sparas. Undvik att klistra in hemligheter som lösenord eller API-nycklar.
Relaterade verktyg
ASCII-tabellreferens
Full ASCII-tabell från 0 till 127 med decimal-, hex-, oktal- och binärvärden samt notation för numeriska HTML-referenser, inklusive NUL, LF och DEL.
HTML-teckenreferens
En sökbar lista över HTML-entiteter med deras namngivna och numeriska koder samt kopiering med ett klick för specialtecken och symboler.
Referens för kortkommandon
Sök dokumenterade standardkommandon för VS Code, Chrome och Bash med GNU Readline i macOS, Windows och Linux.
CSS-pilgnerator
Skapa lokalt en CSS-pil med riktning, färg, storlek och ramens tjocklek och kopiera sedan regeln.
Generator för platshållarbilder
Skapa en bild på 1–4000 px med egna färger och text, ladda ned PNG eller kopiera webbadress och HTML.
Markdown-förhandsvisare
Skriv Markdown och se den renderade HTML:en uppdateras live. GitHub-flavored syntax med tabeller, uppgiftslistor, inramad kod och autolänkar.
Verktyget finns på andra språk
- TOML zu JSON [DE]
- TOMLからJSONへ [JA]
- TOML para JSON [PT]
- TOML naar JSON [NL]
- TOML เป็น JSON [TH]
- TOML en JSON [FR]
- TOML a JSON [ES]
- TOML sang JSON [VI]
- TOML ke JSON [ID]
- TOML to JSON [KO]
- من TOML إلى JSON [AR]
- TOML na JSON [PL]
- TOML'dan JSON'a [TR]
- TOML 至 JSON [ZH]
- TOML to JSON [EN]
- TOML in JSON [IT]
- TOML в JSON [RU]