JSON naar TOML Converter
Plak JSON, krijg direct TOML in je browser. Veilige null-afhandeling, controle op hoofdtabel, output klaar voor Cargo.toml en pyproject.toml. 100% privé.
Opties · 2 spaties
Wat is TOML en waarom omzetten vanuit JSON?
TOML (Tom's Obvious, Minimal Language) is een configuratiebestandsformaat gebouwd om ondubbelzinnig te zijn en gemakkelijk leesbaar en bewerkbaar voor mensen. Het is het standaard configuratieformaat voor het Rust-ecosysteem (Cargo.toml), moderne Python-packaging (pyproject.toml) en tools zoals Hugo, Netlify, Poetry en Foundry. JSON is het universele machineformaat dat tools en API's produceren. JSON naar TOML omzetten is gebruikelijk wanneer je gestructureerde gegevens als JSON hebt maar een door mensen bewerkbare TOML-config als bestemming nodig hebt — het genereren van een Cargo.toml of pyproject.toml, of het omzetten van de JSON-instellingen van een applicatie in een leesbaar configuratiebestand.
TOML is gestructureerder dan JSON, en deze tool verandert die striktheid in begeleiding in plaats van cryptische fouten:
**1. Handhaving van hoofdtabel.** Elk TOML-document is aan de basis een tabel — een kale array of scalar is geen geldige TOML. In plaats van gebroken uitvoer te produceren voor invoer met een array op het hoogste niveau, detecteert deze tool het en vertelt je precies hoe je je gegevens onder een sleutel moet inpakken, zodat je altijd geldige TOML of een duidelijke uitleg krijgt.
**2. Veilige, transparante null-afhandeling.** JSON heeft null; TOML niet. De meeste converters lopen ofwel vast of gooien gegevens stilletjes weg. Deze tool is expliciet: objectsleutels met null-waarden worden verwijderd en de verwijderde sleutels worden in een waarschuwing vermeld, en een null binnen een array — die geen geldige TOML-weergave heeft — produceert een precieze, padwijzende fout. Je wordt nooit verrast door ontbrekende gegevens.
**3. Idiomatische TOML-uitvoer.** Geneste objecten worden [tables], diep geneste objecten worden tabellen met puntnotatie ([tool.ruff]), en arrays van objecten worden arrays van tabellen ([[section]]) — de vorm die echte Cargo.toml- en pyproject.toml-bestanden gebruiken. De conversie wordt aangedreven door de dependency-vrije, TOML 1.0.0-conforme smol-toml-bibliotheek.
**4. 100% browsergebaseerde privacy.** Je JSON — die inloggegevens, tokens of interne servicedetails kan bevatten — verlaat nooit je browser. Geen upload, geen server, geen logging. Bevestig het in het tabblad Netwerk van je browser.
Heb je de omgekeerde richting nodig? Gebruik de TOML naar JSON Converter. Werk je met andere configuratieformaten? Probeer de JSON naar YAML Converter en YAML naar JSON Converter, of ruim je JSON-invoer eerst op met de JSON Formatter. Elk formaat heeft zijn niche: JSON voor machine-uitwisseling, TOML voor door mensen bewerkte applicatie- en toolingconfiguratie, en YAML voor diep geneste infrastructuurmanifesten. Deze converter laat je van JSON naar TOML gaan zonder ook maar één regel code te schrijven.
// Convert JSON to TOML in Node.js using the smol-toml library
import { stringify } from 'smol-toml';
const data = JSON.parse(`{
"package": { "name": "my-app", "version": "1.0.0" },
"dependencies": { "serde": { "version": "1.0" } }
}`);
// The top-level value must be an object; null values on objects are dropped.
const toml = stringify(data);
console.log(toml);
// [package]
// name = "my-app"
// version = "1.0.0"
//
// [dependencies.serde]
// version = "1.0" Belangrijkste functies
Live conversie
De TOML-uitvoer wordt direct bijgewerkt terwijl je JSON typt of plakt — geen knop Converteren nodig. Grote invoer (>200 KB) schakelt automatisch over naar handmatige modus om de browser responsief te houden.
Begeleiding bij hoofdtabel
TOML-documenten moeten aan de basis een tabel zijn. Als het hoogste niveau van je JSON een array of scalar is, vertelt de tool je precies hoe je het onder een sleutel moet inpakken — geen gebroken uitvoer, geen giswerk.
Veilige null-afhandeling
TOML heeft geen null. Objectsleutels met null-waarden worden verwijderd en in een waarschuwing vermeld; een null binnen een array veroorzaakt een precieze, padwijzende fout. Je weet altijd wat er met je gegevens is gebeurd.
Idiomatische TOML-uitvoer
Geneste objecten worden [tables], diep geneste objecten worden tabellen met puntnotatie ([tool.ruff]), en arrays van objecten worden arrays van tabellen ([[section]]) — de vorm die echte Cargo.toml en pyproject.toml gebruiken.
Bewustzijn van float en geheel getal
TOML scheidt gehele getallen van floats, dus een float zoals 1.0 wordt geschreven als het gehele getal 1. De tool waarschuwt je wanneer deze coercie het type van een waarde verandert, zodat rondrit-verrassingen zichtbaar zijn.
100% browsergebaseerde privacy
Al het parseren draait lokaal in je browser. Je JSON — inclusief inloggegevens, tokens en interne servicedetails — wordt nooit geüpload, opgeslagen of gelogd.
Voorbeelden
Cargo.toml-bron
{
"package": {
"name": "my-app",
"version": "1.0.0",
"edition": "2021"
},
"dependencies": {
"serde": { "version": "1.0", "features": ["derive"] },
"tokio": { "version": "1", "features": ["full"] }
}
} Genereer een Rust Cargo.toml uit JSON — geneste objecten worden [tables] en inline-objecten worden inline-tabellen, precies zoals Cargo verwacht.
pyproject.toml-bron
{
"build-system": {
"requires": ["hatchling"],
"build-backend": "hatchling.build"
},
"project": {
"name": "my-package",
"version": "0.3.1",
"requires-python": ">=3.10",
"dependencies": ["requests>=2.31", "pydantic>=2.0"]
}
} Genereer een PEP 621 pyproject.toml uit JSON-projectmetadata — handig wanneer een tool of API JSON produceert die je in TOML-vorm nodig hebt.
App-instellingen
{
"title": "My Service",
"debug": false,
"port": 8080,
"database": {
"host": "localhost",
"port": 5432,
"pool_size": 10
},
"features": ["auth", "metrics", "tracing"]
} Zet een plat object met applicatie-instellingen om naar TOML — scalars op het hoogste niveau blijven bovenaan en het geneste database-object wordt een [database]-tabel.
Servers (array van tabellen)
{
"servers": [
{ "name": "alpha", "ip": "10.0.0.1", "ports": [8001, 8002] },
{ "name": "beta", "ip": "10.0.0.2", "ports": [9001] }
]
} Een array van objecten wordt een array van tabellen ([[servers]]) in TOML — de idiomatische manier om herhaalde secties uit te drukken.
Netlify-config-bron
{
"build": {
"command": "npm run build",
"publish": "dist",
"environment": { "NODE_VERSION": "20" }
},
"redirects": [
{ "from": "/old", "to": "/new", "status": 301, "force": true }
]
} Verander een JSON-deployment-config in netlify.toml, met geneste [build]- en [build.environment]-tabellen en een [[redirects]]-array van tabellen.
Config met puntstructuur
{
"tool": {
"ruff": { "line-length": 100, "target-version": "py310" },
"black": { "line-length": 100 }
}
} Diep geneste JSON-objecten worden TOML-tabellen met puntnotatie zoals [tool.ruff] en [tool.black] — de vorm die pyproject.toml-tooling verwacht.
Hoe te gebruiken
- 1
Plak je JSON
Voer je JSON in of plak het in het invoerveld hierboven. Je kunt ook op 'Voorbeeld laden' klikken om een Cargo.toml-bron, pyproject.toml-bron of object met app-instellingen te proberen.
- 2
Bekijk live TOML-uitvoer
TOML verschijnt direct in het uitvoerpaneel. Als je JSON een array op het hoogste niveau of null-waarden heeft, legt de tool precies uit wat je moet doen in plaats van gebroken uitvoer te produceren.
- 3
Kopiëren of downloaden
Klik op Kopiëren om de TOML naar je klembord te halen, of op Downloaden om het als .toml-bestand op te slaan, klaar voor Cargo, Poetry, Hugo, Netlify of elke tool die TOML leest.
Veelvoorkomende JSON-naar-TOML-valkuilen
Array of scalar op het hoogste niveau
TOML-documenten moeten aan de basis een tabel (object) zijn. Een JSON-array of losse waarde kan geen TOML-document zijn. Wikkel het onder een sleutel om het om te zetten.
[1, 2, 3]
{ "items": [1, 2, 3] } Null-waarden in objecten
TOML heeft geen null-type, dus een objectsleutel met een null-waarde wordt tijdens de conversie verwijderd. De tool waarschuwt je welke sleutels zijn verwijderd. Als je de sleutel wilt behouden, geef er een echte waarde of een lege string aan.
{ "name": "a", "nickname": null } { "name": "a", "nickname": "" } Null binnen een array
Een TOML-array kan geen null of gat bevatten, dus JSON zoals [1, null, 3] heeft geen geldige TOML-uitvoer. Verwijder de null of vervang het door een echte waarde voordat je converteert.
{ "ports": [8001, null, 8003] } { "ports": [8001, 8003] } Ongeldige JSON-syntaxis
De invoer moet eerst geldige JSON zijn. Afsluitende komma's, enkele aanhalingstekens en sleutels zonder aanhalingstekens zijn veelvoorkomende fouten die uit JavaScript worden gekopieerd, die geen geldige JSON zijn en vóór het converteren moeten worden gecorrigeerd.
{ 'name': 'a', 'active': true, } { "name": "a", "active": true } Float met nul-fractie wordt geheel getal
TOML schrijft een float waarvan het fractionele deel nul is (1.0) als het gehele getal 1, wat het type bij een rondrit verandert. De tool waarschuwt je. Als de waarde conceptueel een geheel getal is, is dit prima; als het een float moet blijven, kan TOML dat voor hele getallen niet behouden.
{ "ratio": 1.0 } → ratio = 1 { "ratio": 1.5 } → ratio = 1.5 Object en array bij dezelfde sleutel mengen
Een JSON-sleutel moet consistent een object of een array zijn om op een tabel of array van tabellen te mappen. Inconsistente vormen binnen een dataset kunnen verwarrende TOML produceren — normaliseer eerst de structuur.
{ "server": { "a": 1 }, "server": [1] } { "server": { "a": 1 }, "servers": [1] } Veelvoorkomende toepassingen
- Cargo.toml genereren
- Verander gestructureerde JSON — van een scaffolding-tool, een API of een script — in een geldige Rust Cargo.toml, met automatisch geproduceerde geneste [dependencies]-tabellen en inline-tabellen.
- pyproject.toml genereren
- Zet JSON-projectmetadata om naar een PEP 621 pyproject.toml, inclusief [tool.*]-tabellen met puntnotatie, zodat tooling die JSON uitgeeft Python-packaging-configuratie kan produceren.
- Door mensen bewerkbare config uit JSON
- Transformeer de JSON-instellingen van een applicatie in een leesbaar TOML-configuratiebestand dat mensen comfortabel kunnen bewerken, met naderhand met de hand toegevoegd commentaar.
- Deployment-config genereren
- Produceer netlify.toml, foundry.toml of vergelijkbare platformconfiguraties uit JSON, en verander geneste objecten en arrays van objecten in de tabellen en arrays van tabellen die die tools verwachten.
- Migratie van configuratieformaat
- Verplaats configuratie van een JSON-gebaseerd systeem naar een TOML-gebaseerd systeem, met deze converter als brug en de null- en hoogste-niveau-waarschuwingen om alles op te vangen wat niet zal mappen.
- TOML-structuur prototypen
- Schets een config als JSON — een formaat dat de meeste ontwikkelaars vloeiend typen — en zet het vervolgens om naar TOML om de idiomatische opmaak van tabellen en arrays van tabellen te zien voordat je het in een repo vastlegt.
Technische details
- RFC 8259 JSON-parsing
- JSON-invoer wordt geparseerd met de native JSON.parse() van de browser, die volledig RFC 8259-conform is. Vóór de serialisatie controleert de tool dat de waarde op het hoogste niveau een object is en scant op null-waarden om te waarschuwen voor verwijderde objectsleutels of een null binnen een array met een precies pad af te wijzen.
- TOML 1.0.0-uitvoer via smol-toml
- TOML wordt gegenereerd met de smol-toml-bibliotheek, een dependency-vrije, volledig TOML 1.0.0-conforme serializer. Geneste objecten worden tabellen, diep geneste objecten worden tabellen met puntnotatie, en arrays van objecten worden arrays van tabellen. Floats met een fractioneel deel van nul worden volgens de TOML-regels als gehele getallen geschreven, met een waarschuwing.
- 100% browsergebaseerd — geen upload, geen server
- Alle verwerking gebeurt in de JavaScript-engine van je browser. Er worden op geen enkel moment gegevens verzonden. Invoer groter dan 200 KB schakelt over van live naar handmatige modus (een expliciete klik op Converteren) om de interface responsief te houden.
Best practices
- Wikkel arrays op het hoogste niveau onder een sleutel
- Als je gegevens van nature een JSON-array zijn, wikkel ze dan in een object met een beschrijvende sleutel ({ "items": [...] }) vóór het converteren. TOML-documenten moeten aan de basis een tabel zijn, en de sleutel geeft je array een duidelijke naam in de uitvoer.
- Beslis wat nulls moeten betekenen
- Beslis vóór het converteren of een null-veld moet verdwijnen (de sleutel verwijderen) of een waarde moet dragen. TOML verwijdert object-nulls en wijst array-nulls af, dus ze eerst in je JSON oplossen geeft voorspelbare, complete uitvoer.
- Gebruik geneste objecten voor groepering
- Groepeer gerelateerde instellingen in geneste objecten in je JSON — ze worden schone [tables] en tabellen met puntnotatie in TOML, wat veel leesbaarder is dan een platte lijst met sleutels, passend bij hoe Cargo- en pyproject-configuraties zijn georganiseerd.
- Valideer eerst je JSON
- Als je JSON handgeschreven is of uit een onbetrouwbare bron komt, valideer het dan met onze JSON Formatter om afsluitende komma's en aanhalingsfouten op te vangen voordat je naar TOML converteert.
- Voeg commentaar toe na het converteren
- JSON heeft geen commentaar, dus niets gaat over. Aangezien TOML #-commentaar ondersteunt, voeg je documentatie met de hand toe aan de gegenereerde TOML — een van de belangrijkste redenen om door mensen bewerkte configuratie in de eerste plaats naar TOML te verplaatsen.
Veelgestelde vragen
Hoe zet ik JSON online om naar TOML?
Wat is TOML en waarom zou je JSON ernaar omzetten?
Waarom moet het hoogste niveau van mijn JSON een object zijn?
Wat gebeurt er met null-waarden bij het omzetten van JSON naar TOML?
Hoe worden geneste objecten en arrays omgezet naar TOML?
Wat gebeurt er met drijvendekommagetallen zoals 1.0?
Worden mijn JSON-gegevens naar een server gestuurd?
Kan ik TOML terug omzetten naar JSON?
Hoe zet ik JSON naar TOML om op de opdrachtregel?
Hoe zet ik JSON naar TOML om in Python, Rust of Node.js?
Behoudt de converter de sleutelvolgorde?
Is er een limiet op de bestandsgrootte voor JSON-invoer?
Gerelateerde tools
Alle tools bekijken →Base64 decoderen en encoderen online
Encodering en formattering
Base64 decoderen en encoderen direct in je browser. Realtime conversie met volledige UTF-8- en emoji-ondersteuning. 100% privé — geen account nodig.
Base64 naar afbeelding converter
Encodering en formattering
Decodeer een Base64-string of data-URI terug naar een afbeelding in je browser. Bekijk voorbeeld, lees afmetingen & MIME, download als PNG, JPG, GIF, SVG. Geen upload.
CSV naar JSON omzetter
Encodering en formattering
Zet CSV om naar JSON in uw browser. RFC 4180, type-afleiding, headerregel, big-int veilig. 100% privé, geen upload.
.env naar JSON Converter
Encodering en formattering
Plak een .env-bestand, krijg direct JSON. Je wachtwoorden, API-sleutels en tokens verlaten nooit je browser — 100% privé, gratis dotenv-parser.
Gratis HTML-entiteiten decoder — HTML unescapen
Encodering en formattering
Decodeer HTML-entiteiten en unescape HTML online — gratis, geen account, 100% in je browser. Zet genoemde, decimale & hex-referenties terug naar tekens; nooit geüpload.
Gratis HTML-entiteiten encoder — HTML escapen
Encodering en formattering
Encodeer HTML-entiteiten en escape speciale tekens (< > & " ') online — gratis, geen account, 100% in je browser. Genoemde, decimale of hex-uitvoer; nooit geüpload.