ToolDeck

JSON to TOML

Converteer JSON naar TOML-formaat

Probeer een voorbeeld

JSON-invoer

TOML-uitvoer

Draait lokaal · Veilig om secrets te plakken
TOML-uitvoer verschijnt hier…

Wat is JSON naar TOML-conversie?

JSON naar TOML-conversie zet gegevens om van JavaScript Object Notation naar Tom's Obvious Minimal Language. JSON gebruikt accolades, vierkante haken en geciteerde sleutels om gestructureerde gegevens weer te geven. TOML gebruikt een platte sleutel-waarde-syntaxis met sectiekoppen (tables) die leest als een INI-bestand maar met strikte typering. TOML is specifiek ontworpen voor configuratiebestanden waarbij menselijke leesbaarheid zwaarder weegt dan machine-uitwisseling.

TOML is het standaard configuratieformaat geworden voor Rust (Cargo.toml), Python-packaging (pyproject.toml), Hugo-statische sites, Netlify-implementatie-instellingen en veel CLI-tools. Wanneer uw brongegevens als JSON bestaan — afkomstig van een API-reactie, een geëxporteerde configuratie of een gegenereerd bestand — en uw doelsysteem TOML verwacht, hebt u een converter nodig die JSON-objecten naar TOML-tables, JSON-arrays naar TOML-arrays omzet en elk gegevenstype nauwkeurig behoudt.

JSON naar TOML online converteren is de snelste manier om geldige TOML te genereren uit bestaande JSON-gegevens. De conversie verwerkt type-mapping automatisch: JSON-strings worden TOML-strings, JSON-getallen worden TOML-integers of floats, JSON-booleans worden direct overgenomen en JSON-objecten worden TOML-tables. De enige uitzondering is null — TOML heeft geen null-type, dus null-waarden worden ofwel weggelaten of omgezet naar lege strings, afhankelijk van de converter.

Waarom deze JSON naar TOML-converter gebruiken?

TOML is wat configuratiebestanden verwachten; JSON is wat API's en tools produceren. Deze converter overbrugt het verschil zodat u gegevens tussen de twee formaten kunt verplaatsen zonder handmatig herschrijven.

Directe conversie
Plak JSON en ontvang onmiddellijk TOML-uitvoer. De conversie verloopt terwijl u typt, zonder server-aanroepen of bestandsuploads.
🔒
Privacy-first verwerking
Alle conversie vindt lokaal in uw browser plaats. Configuratiegeheimen, API-sleutels en databasegegevens in uw JSON verlaten uw apparaat nooit.
🔀
Volledige structuurondersteuning
Geneste objecten worden TOML-tables, arrays van objecten worden arrays van tables ([[table]]) en arrays met gemengde typen worden correct verwerkt.
📋
Geen account vereist
Open de pagina en converteer. Geen aanmelding, geen extensie om te installeren, geen CLI-afhankelijkheid. Werkt op elk apparaat met een moderne browser.

Toepassingen van JSON naar TOML

Rust-projectconfiguratie
Cargo.toml definieert afhankelijkheden, functies en bouwinstelling voor Rust-projecten. Converteer JSON-afhankelijkheidslijsten of gegenereerde configuraties direct naar Cargo.toml-formaat.
Python-packaging (pyproject.toml)
PEP 518 en PEP 621 hebben pyproject.toml gestandaardiseerd als het Python-projectmetadatabestand. Converteer bestaande JSON-packagemetadata naar de vereiste TOML-structuur.
Statische siteconfiguratie
Hugo, Netlify en andere statische sitegeneratoren gebruiken TOML-configuratiebestanden. Bij migratie van een JSON-gebaseerde opzet of het programmatisch genereren van configuraties, converteer de uitvoer naar TOML.
DevOps & infrastructuur
Tools zoals Terraform (voor bepaalde providers), Consul en diverse container-runtimes accepteren TOML-configuratie. Converteer JSON-geëxporteerde instellingen naar TOML zonder waarden opnieuw te typen.
API-reactie naar configuratiebestand
REST API's retourneren JSON. Wanneer u die gegevens als TOML-configuratie wilt gebruiken — bijvoorbeeld voor feature flags of omgevingsinstellingen — plak de reactie en ontvang geldige TOML.
TOML-syntaxis leren
Studenten en ontwikkelaars die nieuw zijn met TOML kunnen vertrouwde JSON-structuren plakken en de equivalente TOML-uitvoer bekijken.

JSON versus TOML-vergelijking

JSON en TOML overlappen in functionaliteit maar verschillen in syntaxis, type-ondersteuning en beoogd gebruik. Deze tabel toont de verschillen die de conversie beïnvloeden.

KenmerkJSONTOML
SyntaxBraces, brackets, colons, commasKey = value, [table], [[array]]
CommentsNot allowed (RFC 8259)Supported with #
Data typesstring, number, boolean, null, object, arraystring, integer, float, boolean, datetime, array, table
null supportNative (null)No null type — omit the key or use empty string
Nested objectsUnlimited nesting depthDotted keys or [table.subtable] headers
Arrays of objectsArray of objects with [][[array-of-tables]] syntax
ReadabilityModerate — bracket-heavy at depthHigh — flat key-value pairs
SpecRFC 8259 / ECMA-404TOML v1.0.0 (toml.io)

Aandachtspunten bij TOML-conversie

TOML heeft regels die afwijken van JSON op manieren die de uitvoer beïnvloeden. Deze vier problemen veroorzaken de meeste verwarring.

Geen null-type in TOML
JSON ondersteunt null als een volwaardige waarde. TOML heeft helemaal geen null-type. Bij conversie moeten null-waarden worden verwerkt — ofwel door de sleutel volledig weg te laten, een lege string te gebruiken, of een schildwachtwaarde te kiezen. Dit betekent dat een retourvlucht van JSON naar TOML en terug de oorspronkelijke null-waarden mogelijk niet reproduceert.
Heterogene arrays zijn beperkt
JSON-arrays kunnen typen vrij mengen: [1, "twee", true]. TOML v1.0.0 vereist dat alle elementen in een array hetzelfde type hebben. Als uw JSON arrays met gemengde typen bevat, moet de converter alle elementen als string weergeven of een fout melden. Controleer uw uitvoer wanneer brongegevens arrays met gemengde typen bevatten.
Diep geneste objecten worden uitgebreid
JSON verwerkt diepe nesting van nature met geneste accolades. TOML gebruikt gestippelde sleutels of gekoppelde [table.subtable.key]-koppen, die lang kunnen worden bij diep geneste structuren. De uitvoer is geldig maar minder compact dan het JSON-origineel.
Beperkingen voor sleutelnamen
TOML bare keys mogen alleen ASCII-letters, cijfers, koppeltekens en underscores bevatten. JSON-sleutels kunnen elke string zijn. Als uw JSON sleutels heeft met spaties, punten of speciale tekens, moeten die sleutels tussen aanhalingstekens staan in de TOML-uitvoer. De meeste converters verwerken dit automatisch, maar controleer de uitvoer als uw sleutels ongebruikelijke tekens bevatten.

Codevoorbeelden

JSON programmatisch naar TOML converteren vereist in de meeste talen een TOML-serialisatiebibliotheek. Standaardbibliotheken verwerken JSON; voor TOML-uitvoer is een speciaal pakket nodig.

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

const json = '{"title":"My App","database":{"host":"localhost","port":5432}}'
const obj = JSON.parse(json)
const toml = stringify(obj)
console.log(toml)
// → title = "My App"
// →
// → [database]
// → host = "localhost"
// → port = 5432
Python
import json
import tomli_w  # pip install tomli_w

json_str = '{"title": "My App", "database": {"host": "localhost", "port": 5432}}'
data = json.loads(json_str)
toml_str = tomli_w.dumps(data)
print(toml_str)
# → title = "My App"
# →
# → [database]
# → host = "localhost"
# → port = 5432
Go
package main

import (
    "encoding/json"
    "fmt"
    "github.com/pelletier/go-toml/v2"
)

func main() {
    jsonStr := `{"title":"My App","database":{"host":"localhost","port":5432}}`
    var data map[string]interface{}
    json.Unmarshal([]byte(jsonStr), &data)

    tomlBytes, _ := toml.Marshal(data)
    fmt.Println(string(tomlBytes))
    // → title = 'My App'
    // →
    // → [database]
    // → host = 'localhost'
    // → port = 5432
}
CLI (yj / remarshal)
# Using yj (https://github.com/sclevine/yj)
echo '{"title":"My App","port":3000}' | yj -jt
# → title = "My App"
# → port = 3000

# Using remarshal (pip install remarshal)
echo '{"title":"My App","port":3000}' | remarshal -if json -of toml
# → title = "My App"
# → port = 3000

Veelgestelde vragen

Is JSON naar TOML-conversie verliesvrij?
Voor de meeste gegevens wel. Strings, integers, floats, booleans, objecten en arrays hebben allemaal directe TOML-equivalenten. De twee uitzonderingen zijn null (TOML heeft geen null-type, dus null-waarden worden weggelaten of vervangen) en arrays met gemengde typen (TOML vereist uniforme array-elementtypen). Als uw JSON deze twee patronen vermijdt, is de conversie volledig verliesvrij.
Wat gebeurt er met JSON null-waarden in TOML?
TOML heeft geen null-type. Converters laten doorgaans sleutels met null-waarden weg uit de uitvoer, omdat er geen manier is om "sleutel bestaat maar heeft geen waarde" in TOML weer te geven. Sommige converters laten u kiezen voor een lege string. Controleer uw uitvoer als null-waarden betekenis hebben in uw gegevens.
Kan TOML geneste JSON-objecten weergeven?
Ja. JSON-objecten worden TOML-tables. Een genest object zoals {"database": {"host": "localhost"}} wordt omgezet naar een [database]-tabelkop met host = "localhost" eronder. Willekeurige nestdiepte wordt ondersteund via gestippelde sleutels of geneste tabelkoppen.
Waarom gebruiken Rust en Python TOML in plaats van JSON?
TOML ondersteunt commentaar, wat essentieel is voor het documenteren van configuratiekeuzes. Het produceert ook overzichtelijkere uitvoer voor platte sleutel-waarde-instellingen, die het grootste deel van packagemetadata vormen. JSON verbiedt commentaar (RFC 8259), waardoor het moeilijker te onderhouden is als door mensen bewerkt configuratieformaat.
Hoe verwerkt TOML datums en tijden?
TOML heeft native datetime-typen: offset datetime (2024-01-15T10:30:00Z), lokale datetime, lokale datum en lokale tijd. JSON heeft geen datumtype — datums worden als strings opgeslagen. Bij conversie van JSON naar TOML blijven datumachtige strings als strings tenzij de converter expliciet ISO 8601-patronen detecteert en converteert.
Is het veilig om geheimen en inloggegevens in deze tool te plakken?
Ja. De conversie wordt volledig in uw browser uitgevoerd met JavaScript. Er worden geen gegevens naar een server verzonden. U kunt dit verifiëren door de ontwikkelaarstools van uw browser te openen, naar het tabblad Netwerk te gaan en te bevestigen dat er geen verzoeken worden gedaan tijdens de conversie.
Welke TOML-versie volgt de uitvoer?
De uitvoer volgt TOML v1.0.0, uitgebracht in januari 2021 en de huidige stabiele specificatie. Deze versie vereist uniforme arraytypen, ondersteunt gestippelde sleutels en definieert het datetime-formaat. De specificatie wordt onderhouden op toml.io.