ToolDeck

TOML to JSON

Konvertera TOML till JSON-format

Prova ett exempel

TOML-indata

JSON-utdata

Körs lokalt · Säkert att klistra in hemligheter
JSON-utdata visas här…
Prova också:TOML Formatter

Vad är TOML till JSON-konvertering?

TOML (Tom's Obvious Minimal Language) är ett konfigurationsfilformat utformat för människor. Det mappas entydigt till en hashtabell, stöder nästlade tabeller, typade värden och inline-kommentarer. Många verktyg och ramverk använder TOML som sitt primära konfigurationsformat: Rust-projekt förlitar sig på Cargo.toml, Python-pakethantering använder pyproject.toml och Hugo-statiska webbplatser konfigureras via config.toml. Att konvertera TOML till JSON online låter dig omvandla dessa konfigurationsfiler till ett format som i princip alla programmeringsspråk, API:er och datapipelines kan konsumera direkt.

JSON (JavaScript Object Notation), definierat av RFC 8259, är det mest brett stödda datautbytesformatet. Medan TOML prioriterar läsbarhet för människor med sin minimala syntax och kommentarstöd, prioriterar JSON maskinkompatibilitet. En TOML till JSON-konverterare överbryggar detta gap genom att tolka TOML-indata enligt TOML v1.0.0-specifikationen och producera ett strukturellt ekvivalent JSON-dokument. Konverteringen bevarar all data: strängar, heltal, flyttal, booleska värden, arrayer och tabeller mappas direkt till sina JSON-motsvarigheter.

TOML har fyra inbyggda datum- och tidtyper som JSON inte kan representera direkt: datum-tider med offset, lokala datum-tider, lokala datum och lokala tider. JSON har ingen datumtyp, så dessa värden serialiseras som ISO 8601-strängar vid konvertering.

Varför använda en TOML till JSON-konverterare?

Konfigurationsfiler skrivna i TOML behöver ofta matas in i system som bara accepterar JSON. Istället för att skriva om filen för hand eller installera ett parsningsbibliotek lokalt hanterar en webbläsarbaserad konverterare omvandlingen på sekunder.

🔒
Integritetssäker bearbetning
Din TOML-data tolkas och konverteras helt i webbläsaren. Ingenting laddas upp till en server, vilket gör det säkert att konvertera konfigurationsfiler som innehåller API-nycklar, databasuppgifter eller interna värdnamn.
Omedelbar konvertering
Klistra in din TOML och få formaterad JSON-utdata direkt. Du behöver inte installera Node.js-paket, Python-bibliotek eller CLI-verktyg bara för att utföra en engångskonvertering av format.
🔀
Fullt stöd för TOML v1.0.0
Konverteraren hanterar alla TOML-datatyper inklusive punkterade nycklar, inline-tabeller, tabellmatriser, flerradssträngar och datum- och tidvärden. Kantfall som kan orsaka problem vid manuell konvertering hanteras korrekt.
📋
Inget konto krävs
Öppna sidan, klistra in din TOML och kopiera JSON-resultatet. Det finns ingen registrering, ingen hastighetsbegränsning och ingen användningsspårning. Verktyget fungerar på samma sätt varje gång du besöker det.

Användningsfall för TOML till JSON

Frontend-utveckling
Konvertera ett Rust WASM-projekts Cargo.toml-metadata till JSON för användning av ett JavaScript-byggskript eller ett steg för generering av package.json.
Backend-teknik
Omvandla applikationskonfiguration skriven i TOML till JSON för injektion i miljöer som kräver JSON-konfiguration, till exempel AWS Lambda-miljövariabler eller Docker-containeretikett.
DevOps och CI/CD
Pipeline-verktyg som GitHub Actions och GitLab CI arbetar ofta med JSON-indata. Konvertera TOML-baserade verktygskonfigurationer (rustfmt.toml, taplo.toml) till JSON för lintning eller valideringssteg.
QA och testning
Generera JSON-testfixtures från TOML-källfiler. TOML är lättare att underhålla som testdatakälla tack vare sitt kommentarstöd och läsbara syntax, men testramverk förväntar sig ofta JSON-indata.
Datateknik
Vid migrering av konfiguration mellan system kan TOML-filer från en plattform (t.ex. InfluxDB, Telegraf) behöva bli JSON-dokument för en annan plattforms API eller importverktyg.
Lärande och utbildning
Studenter som lär sig dataformat kan klistra in TOML-exempel och se exakt hur tabeller blir nästlade objekt, hur tabellmatriser blir JSON-arrayer och hur TOML:s datumtyper mappas till strängar.

Referens för typmappning TOML till JSON

Varje TOML-typ har en direkt JSON-motsvarighet, med ett undantag: datum- och tidsvärden. Tabellen nedan visar hur varje TOML-typ konverteras till JSON. Denna mappning följer TOML v1.0.0-specifikationen och matchar beteendet hos standardparsers som tomllib (Python), toml-rs (Rust) och @iarna/toml (Node.js).

TypTOML-syntaxJSON-utdata
String"value""value"
Integer4242
Float3.143.14
Booleantrue / falsetrue / false
Offset Date-Time1979-05-27T07:32:00Z"1979-05-27T07:32:00Z"
Local Date-Time1979-05-27T07:32:00"1979-05-27T07:32:00"
Local Date1979-05-27"1979-05-27"
Local Time07:32:00"07:32:00"
Array[1, 2, 3][1, 2, 3]
Table[section]{ "section": {} }
Inline Table{ key = "val" }{ "key": "val" }
Array of Tables[[items]]"items": [{}]

TOML-heltal stöder understreck för läsbarhet (t.ex. 1_000_000) samt hexadecimala (0xDEADBEEF), oktala (0o755) och binära (0b11010110) literaler. Alla dessa konverteras till vanliga decimala tal i JSON. TOML stöder också oändlighets- och NaN-flyttalsvärden, men dessa har ingen JSON-representation och ger ett konverteringsfel i strikt läge.

Kodexempel

Fungerande exempel på TOML till JSON-konvertering i fyra språk. Varje exempel läser en TOML-fil, tolkar den och matar ut formaterad JSON.

JavaScript (Node.js)
import { parse } from '@iarna/toml'
import fs from 'fs'

const toml = fs.readFileSync('config.toml', 'utf8')
const json = parse(toml)
console.log(JSON.stringify(json, null, 2))
// Input:  [server]
//         host = "localhost"
//         port = 8080
// Output: { "server": { "host": "localhost", "port": 8080 } }
Python
import tomllib   # Python 3.11+ (standard library)
import json

with open('config.toml', 'rb') as f:
    data = tomllib.load(f)

print(json.dumps(data, indent=2, default=str))
# Dates become strings: "1979-05-27"
# Arrays of tables become JSON arrays of objects
Go
package main

import (
    "encoding/json"
    "fmt"
    "os"

    "github.com/BurntSushi/toml"
)

func main() {
    var data map[string]any
    _, err := toml.DecodeFile("config.toml", &data)
    if err != nil {
        panic(err)
    }
    out, _ := json.MarshalIndent(data, "", "  ")
    fmt.Println(string(out))
}
CLI (yj / dasel)
# Using yj (YAML/JSON/TOML converter)
cat config.toml | yj -tj

# Using dasel
dasel -f config.toml -r toml -w json

# Using Python one-liner (3.11+)
python3 -c "import tomllib, json, sys; print(json.dumps(tomllib.load(sys.stdin.buffer), indent=2, default=str))" < config.toml

Vanliga frågor

Vad händer med TOML-kommentarer vid konvertering?
TOML-kommentarer (rader som börjar med #) kasseras vid konvertering. JSON stöder inte kommentarer, så det finns inget sätt att bevara dem i utdatan. Om du behöver behålla kommentarer kan du överväga att använda JSONC (JSON med kommentarer) som målformat istället.
Kan TOML till JSON-konvertering förlora data?
För vanliga TOML-dokument förloras ingen data. Alla strängar, tal, booleska värden, arrayer och tabeller har direkta JSON-motsvarigheter. Den enda omvandlingen gäller datum- och tidsvärden, som blir ISO 8601-strängar i JSON. Två kantfall kan orsaka problem: TOML stöder oändlighets- och NaN-flyttal som saknar JSON-representation, och mycket stora heltal kan överskrida JSON-parsers precisionsgränser (2^53 - 1 i JavaScript).
Hur representeras TOML-tabellmatriser i JSON?
TOML:s [[dubbel-hakparentes]]-syntax definierar en matris av tabeller. Varje [[sektion]]-block lägger till ett nytt objekt i en JSON-matris. Till exempel blir två [[fruits]]-block en JSON-matris med två objekt: "fruits": [{...}, {...}]. Dubbel-hakparentes-syntaxen är en av de knepigare delarna av TOML att läsa kallt; JSON-utdatan gör strukturen tydlig.
Är konverteringen reversibel? Kan jag gå från JSON tillbaka till TOML?
Strukturellt sett, ja. Vilket JSON-objekt som helst kan representeras som en TOML-tabell, och JSON-arrayer mappas till TOML-arrayer. TOML-specifika funktioner som kommentarer, punkterad nyckelgruppering och inline-tabellformatering går dock förlorade vid den ursprungliga TOML-till-JSON-konverteringen och kan inte återställas. Rundresan ger giltig men potentiellt mindre läsbar TOML.
Vad är skillnaden mellan TOML och JSON för konfigurationsfiler?
TOML designades för konfiguration: det stöder kommentarer, har en mer läsbar syntax för nästlade strukturer, skiljer mellan heltal och flyttal och inkluderar inbyggda datum- och tidtyper. JSON designades för datautbyte mellan program. JSON stöds av fler verktyg och API:er, men TOML är lättare för människor att läsa och redigera. Många projekt använder TOML för källkonfiguration och konverterar till JSON för driftsättning.
Hur hanterar det här verktyget punkterade nycklar som server.host?
Punkterade nycklar i TOML (t.ex. server.host = "localhost") skapar nästlade objekt i JSON: {"server": {"host": "localhost"}}. Det motsvarar att definiera en [server]-tabell med en host-nyckel. Konverteraren löser upp punkterade nycklar till deras fullständiga nästlade struktur automatiskt.
Varför misslyckas min TOML-fil att konverteras?
Vanliga orsaker inkluderar: saknade citattecken runt strängvärden (TOML kräver dem), användning av tabbar för indragning inuti flerradiga grundsträngar, duplicerade nyckeldefinitioner och blandning av punkterade nycklar med explicita tabellrubriker för samma sökväg. Konverteraren visar parserns felmeddelande med radnumret för att hjälpa dig att hitta problemet.