Naar de inhoud

Conversie van JSON naar TOML-formaat — Numio

Converteert een JSON-object naar TOML. Geneste objecten worden [tabel]-secties, arrays met objecten worden [[array van tabellen]] en sleutels met nulwaarden worden verwijderd omdat TOML geen null heeft.

Een JSON-configuratie omzetten in pyproject.toml, Cargo.toml, wrangler.toml of Hugo-configuratiesyntaxis.

JSON

TOML

Wanneer gebruik je dit?

  • Een JSON-configuratie omzetten in pyproject.toml, Cargo.toml, wrangler.toml of Hugo-configuratiesyntaxis.
  • Verplaatsen van instellingen gegenereerd door een script als JSON naar een op TOML gebaseerd configuratiebestand.

Hoe werkt het

  1. Plak een JSON-object (de root moet een object zijn, geen array) in de linkereditor, of gebruik de knop Bestand laden om een UTF-8-bestand te openen.
  2. Controleer de TOML aan de rechterkant: scalaire sleutels komen eerst, daarna de secties [table] en [[array]].
  3. Kopieer het resultaat en vergelijk het met de gedocumenteerde sleutels van het doelhulpprogramma voordat u uw configuratie vervangt.

JSON-object

{
  "title": "My App",
  "port": 8080,
  "debug": false,
  "owner": { "name": "Ada", "since": "2024-01-05T10:00:00Z" },
  "servers": [
    { "host": "a.example.com", "weight": 3 },
    { "host": "b.example.com", "weight": 1 }
  ],
  "ports": [80, 443]
}

TOML

title = "My App"
port = 8_080
debug = false
ports = [ 80, 443 ]

[owner]
name = "Ada"
since = "2024-01-05T10:00:00Z"

[[servers]]
host = "a.example.com"
weight = 3

[[servers]]
host = "b.example.com"
weight = 1

Details en beperkingen

Gehele getallen van 1000 of meer krijgen onderstrepingstekens (8080 wordt 8_080). Dit is geldig TOML en wordt geparseerd naar hetzelfde nummer.

Datumreeksen blijven tussen aanhalingstekens; JSON heeft geen datumtype, dus er worden geen TOML datetime-waarden geproduceerd.

Sleutels met nulwaarden worden stilzwijgend weggelaten en 1.0 in JSON wordt geschreven als het gehele getal 1.

Draait in uw browser met @iarna/toml. Een lijst waarin objecten met andere waarden worden gecombineerd, wordt afgewezen omdat TOML-arrays met tabellen deze niet kunnen bevatten. Subtabellen worden ingesprongen met twee spaties; TOML negeert dit.

FAQ

Kan ik een JSON-array in de root converteren?

Nee. Een TOML-document moet een tabel zijn, dus de pagina legt uit dat de JSON een array is en stelt voor deze in een object te verpakken, bijvoorbeeld {"artikelen": [...]}.

Wat gebeurt er met nulwaarden?

De sleutel valt. {"a": null} produceert lege uitvoer. Gebruik een lege string of verwijder de sleutel opzettelijk als het doelwit dit verwacht.

Waarom bevatten getallen onderstrepingstekens?

De serialisator formatteert grote gehele getallen met _ cijferscheidingstekens, wat de TOML-specificatie toestaat. Elke TOML-parser leest 8_080 als 8080.

Specificaties en referenties