Slik bruker du det
- Lim inn et JSON-objekt, eller prøv eksempelet.
- Slå på «Utelat nullverdier» hvis JSON-en inneholder nullverdier du ikke trenger.
- Kopier TOML-en, eller last den ned som en .toml-fil.
Slik fungerer det
JSON-en parses strengt og skrives deretter som TOML 1.0 med det åpne kildekodebiblioteket smol-toml. Nestede objekter blir [tables], matriser av objekter blir [[arrays of tables]], og nøkler som ikke er vanlige ord, settes i anførselstegn.
TOML kan ikke uttrykke alt JSON kan. Dokumentroten må være en tabell, så en JSON-matrise eller en enkeltverdi avvises. TOML har ingen null: som standard rapporteres den første null-verdien med sin bane; du kan i stedet velge å utelate null-objektmedlemmer. En null inne i en matrise er alltid en feil, fordi fjerning av den ville endre posisjonene til de andre elementene. Matriser som blander typer (for eksempel tall og strenger) er gyldige i TOML 1.0, men ikke i den eldre versjonen 0.5, så de telles opp i et notat.
JSON skiller ikke 1 fra 1.0, så hele tall skrives som TOML-heltall. Strenger som ser ut som datoer, forblir strenger. Den motsatte retningen er TOML til JSON.
Eksempler
Appinnstillinger
{"server": {"host": "0.0.0.0", "port": 8080}} blir en [server]-tabell med nøklene host og port.
Liste over arbeidere
"workers": [{"queue": "mail"}, {"queue": "images"}] blir to [[workers]]-blokker.
Ofte stilte spørsmål
Hvorfor er ikke null tillatt?
TOML har ingen null-verdi. Utelat nøkkelen eller bruk en verdi som for eksempel en tom streng, avhengig av hva programmet som leser dataene, forventer.
Hvorfor viser en array med tall og strenger en merknad?
Arrayer med blandede typer er tillatt siden TOML 1.0, men verktøy som implementerer TOML 0.5, avviser dem. Merknaden er nyttig hvis målverktøyet ditt er eldre.
Vil 1.0 forbli et flyttall?
Nei. JSON lagrer 1.0 og 1 som samme tall, så det blir heltallet 1. Skriv 1.5 eller rediger TOML-en hvis programmet som leser den trenger et flyttall.
Personvern
Konverteringen kjøres utelukkende i nettleseren din. JSON-en og TOML-en din blir ikke lastet opp eller lagret.