Ga naar inhoud

TOML naar JSON-converter

Converteer een TOML-configuratiedocument naar JSON, rechtstreeks in uw browser.

Invoer
Uitvoer

TOML naar JSON-converter

Plak een TOML-configuratiebestand en krijg een schoon, gestructureerd JSON-object terug: het formaat dat de meeste scripts, API's en buildtools eigenlijk verwachten. TOML is de standaard voor Cargo.toml van Rust, Python's pyproject.toml, Hugo en talloze app-configuraties, juist omdat het voor mensen gemakkelijk is om te lezen en te schrijven, maar op het moment dat de configuratie JavaScript, een CI-stap of een REST-aanroep moet bereiken, is JSON wat de rest van de toolchain wil. Deze converter dicht dat gat zonder een parser te installeren of een script te schrijven.

De parser bestrijkt de delen van TOML 1.0 die je daadwerkelijk tegenkomt in een echte configuratie: kale sleutels en sleutels tussen aanhalingstekens, sleutels met stippellijnen zoals server.host die geneste objecten bouwen, basisreeksen met escapes en hun drieregelige vorm met aanhalingstekens, letterlijke reeksen voor paden die niet mogen worden geëscaped, gehele getallen in decimalen, hex, octaal of binair met onderstrepingstekens, floats inclusief exponenten en inf/nan, booleans, offset en lokale datum-tijden, arrays die meerdere regels omspannen met achterliggende komma's, inline tabellen en zowel [tabel] als [[array van tabellen]] headers voor herhaalde blokken zoals een lijst met servers of afhankelijkheden. Opmerkingen die beginnen met # worden verwijderd, precies zoals TOML ze definieert.

Kies hoe de JSON wordt ingesprongen (twee spaties, vier spaties, tabs of een enkele verkleinde regel om elders te plakken) en sorteer optioneel de sleutels van elk object alfabetisch, wat het onderscheid tussen twee versies van een gegenereerde configuratie veel eenvoudiger maakt. Als de TOML een syntaxisprobleem heeft, geeft het hulpprogramma de exacte regel aan en wat er mis is (een niet-gesloten tekenreeks, een ontbrekend gelijkteken, een dubbele sleutel) in plaats van alleen maar stil te falen.

Alles draait lokaal in uw browser. Niets dat u plakt, wordt ergens geüpload, wat van belang is als de configuratie databasehosts, API-eindpunten of andere details bevat die u liever niet naar een server verzendt alleen maar om een bestand opnieuw te formatteren.

FAQ

Welke delen van TOML worden hierdoor ondersteund?
De praktische 1.0-subset: sleutels (kale, aanhalingstekens, stippellijnen), basis- en letterlijke tekenreeksen inclusief meerregelige vormen, gehele getallen in decimaal/hex/octaal/binair, zwevende getallen met exponenten en inf/nan, booleans, datum-tijden en datums, arrays, inline tabellen, [table] en [[array of table]] headers, en # commentaren.
Wat gebeurt er met datums en datumtijden?
TOML heeft echte datum- en tijdtypen die JSON niet heeft, dus ze worden precies zo bewaard als geschreven (als JSON-strings zoals "1979-05-27T07:32:00Z") in plaats van dat ze in iets anders worden geraden.
Hoe worden [[array van tabellen]] blokken geconverteerd?
Elke [[name]] header voegt een nieuw object toe aan een array onder die sleutel, zodat herhaalde blokken (een lijst met afhankelijkheden, servers of fruit) een JSON-array van objecten worden in de volgorde waarin ze verschijnen.
Wat doet het als de TOML een fout maakt?
Het rapporteert het regelnummer en een korte reden (een niet-gesloten string, een ontbrekende '=', een sleutel die tweemaal is gedefinieerd) in plaats van een blanco of gedeeltelijk geconverteerd resultaat terug te geven.
Wordt mijn configuratiebestand ergens geüpload?
Nee. De conversie wordt volledig in uw browser uitgevoerd en de TOML die u plakt verlaat uw apparaat nooit - veilig voor configuraties met inloggegevens of interne hostnamen.