Omvormen naar TOML

Zet CSV, INI, JSON, NDJSON, TSV, XML of YAML om naar TOML. Plak de bron of open een lokaal bestand en stel daarna de parser in. De omzetting gebeurt in je browser. De invoer wordt niet geüpload.

Hoe het omzetten werkt

Link

NDJSON-regels worden verzameld in een array en onder items geschreven. Objectrecords worden een TOML-array van tabellen. Regels met eenvoudige waarden worden een inline array als TOML de datatypen samen kan vastleggen. Lege regels worden overgeslagen. Bij ongeldige JSON noemt de foutmelding het regelnummer.

JSON-objecten en YAML-mappings worden TOML-sleutel-waardeparen en tabellen. Geneste objecten worden benoemde tabellen. Arrays van objecten worden arrays van tabellen. Een array op het hoogste niveau komt onder items, omdat een TOML-document een tabel als basis nodig heeft. Een losse waarde komt onder value.

CSV- en TSV-tabellen worden arrays van tabellen onder items als de eerste rij de koppen bevat. Punten in een kop maken geneste tabellen. Zo wordt hello.there.general een pad met drie sleutels. Kolommen met hetzelfde pad worden in één tabel samengevoegd. Een backslash voor een punt geldt ook als scheidingsteken. Zonder koppen wordt iedere rij een array. Met typeherkenning worden herkenbare getallen, booleaanse waarden en nullwaarden omgezet in plaats van als tekst bewaard. TOML kan null niet opslaan, dus een herkende nullwaarde geeft een foutmelding.

INI-secties worden TOML-tabellen. Sleutels buiten een INI-sectie komen onder global en alle INI-waarden blijven tekenreeksen. XML-elementen worden tabelsleutels, herhaalde elementen worden arrays en attributen komen onder de ingestelde attributensleutel.

TOML-uitvoer

Link

De omzetter schrijft tekenreeksen tussen dubbele aanhalingstekens, eenvoudige arrays op één regel, geneste objecten als tabellen en arrays van objecten als arrays van tabellen. De volgorde van objectsleutels blijft behouden. Sleutels met andere tekens dan letters, cijfers, liggende streepjes en koppeltekens krijgen aanhalingstekens.

TOML heeft geen nullwaarde. De omzetting weigert ook niet-eindige getallen en waarden die TOML niet kan vastleggen. Ongeldige brongegevens geven een foutmelding in plaats van onvolledige uitvoer.

Wat TOML kan vastleggen

Link

TOML is een configuratieformaat op basis van sleutel-waardeparen en tabellen. Een tabel groepeert bij elkaar horende sleutels, sleutels met punten beschrijven een pad en dubbele blokhaken maken een array van tabellen.

titel = "Voorbeeld"
actief = true

[server]
host = "localhost"
poorten = [80, 443]

[[gebruikers]]
naam = "Jan"

TOML ondersteunt tekenreeksen, gehele getallen, kommagetallen, booleaanse waarden, datum- en tijdwaarden, arrays en tabellen. Deze omzetter schrijft datumachtige tekenreeksen uit de bron als tekenreeksen. Hij probeert niet te raden of tekst een datum voorstelt.

Tabellen en arrays van tabellen

Link

Een tabelkop zoals [server] geldt voor de sleutel-waardeparen eronder. Een tabelkop met punten, zoals [database.verbinding], maakt geneste tabellen. Een kop zoals [[gebruikers]] voegt één tabel aan een lijst toe. De volgende kop met dezelfde naam begint het volgende item.

Arrays kunnen eenvoudige waarden of inline tabellen bevatten. TOML verwacht dat array-items verenigbare datatypen hebben. Bronformaten kunnen minder streng zijn. Gemengde arrays moet je daarom soms handmatig aanpassen voor software die TOML-datatypen strikt controleert.

Waar TOML wordt gebruikt

Link

TOML wordt vooral gebruikt voor configuratiebestanden. Rust-projecten gebruiken Cargo.toml voor pakketmetadata en afhankelijkheden. Python-projecten kunnen instellingen voor het buildsysteem en andere hulpmiddelen in pyproject.toml bewaren. Verschillende generatoren voor statische websites gebruiken TOML voor de siteconfiguratie. De tabelnotatie is geschikt voor bestanden die mensen met de hand bewerken en die meer structuur nodig hebben dan INI kan vastleggen.

TOML beschrijft configuratiegegevens, geen stroom met applicatierecords. JSON, CSV of een databaseformaat past meestal beter bij grote datasets, logboeken of berichten tussen diensten.

Wat verloren kan gaan

Link

De omzetting behoudt gegevens waarvoor TOML een equivalent heeft, maar bewaart geen commentaar of bronopmaak. YAML-ankers, aliassen, tags en scalaire stijlen vervallen. XML-naamruimten, commentaar, verwerkingsinstructies en gemengde inhoud zijn niet betrouwbaar te reconstrueren. CSV en TSV bevatten weinig type-informatie als typeherkenning uitstaat.

TOML ondersteunt geen null. JSON- of YAML-gegevens met null kunnen pas worden omgezet nadat je een vervangende waarde kiest of het veld verwijdert. Grote getallen lopen via JavaScript, dat niet ieder geheel getal boven 9.007.199.254.740.991 exact kan vastleggen.

De omzetter houdt de volledige invoer en uitvoer in het geheugen. Hij is geschikt voor gewone configuratiebestanden en datasets, niet voor zeer grote exports.

Bestanden, privacy en opgeslagen werk

Link

Kies een lokaal bestand. Een herkende extensie selecteert automatisch het juiste invoertype. De browser leest het bestand lokaal en uploadt het niet.

Het gekozen formaat, de invoer per formaat en parserinstellingen staan in localStorage. Wisselen van formaat overschrijft geen tekst van een ander formaat. Wis de velden of sitegegevens na verwerking van gevoelige informatie op een gedeeld apparaat.

Gerelateerde hulpmiddelen

Link

Widget gemaakt met staark