TOML–JSON konvertáló
Alakíts TOML-t JSON-ná és JSON-t TOML-lá a böngésződben. Kezeli a táblákat, a dátumokat és a 64 bites egész számokat. Semmi nem kerül feltöltésre.
Hogyan konvertálj TOML-t JSON-ná
- Válaszd ki az irányt: TOML → JSON (az alapértelmezett) vagy JSON → TOML.
- Illeszd be az adatokat, vagy kattints a Fájl megnyitása gombra egy
.tomlvagy.jsonfájl betöltéséhez (legfeljebb 10 MB). - TOML → JSON esetén válaszd ki a Behúzást (2 vagy 4 szóköz), és döntsd el, bejelölöd-e a Nagy egész számok sztringként opciót. JSON → TOML esetén hagyd bejelölve vagy vedd ki a Null értékek kihagyása jelölést.
- Jelöld be a Kulcsok rendezése opciót, ha minden táblát ábécérendbe szeretnél rendezni.
- Az eredmény gépelés közben frissül; a Konvertálás kérésre újra lefuttatja. A hibák megmutatják a probléma sorát és oszlopát.
- Másold ki vagy töltsd le az eredményt. Az Irány megfordítása a kimenetet átteszi a bemenetbe, hogy visszaalakítsd.
TOML és JSON egymás mellett
A TOML (Tom’s Obvious Minimal Language) a Rust Cargo.toml, a Python pyproject.toml, a Hugo- és Netlify-oldalak, valamint sok parancssori eszköz konfigurációs formátuma. Úgy tervezték, hogy emberek olvassák és szerkesszék, és közvetlenül leképezhető egy JSON-szerű fára, amely táblákból (objektumokból), tömbökből és értékekből áll.
[package]
name = "demo"
version = "0.1.0"
[[bin]]
name = "cli"
ebből ez lesz:
{"package": {"name": "demo", "version": "0.1.0"}, "bin": [{"name": "cli"}]}
- A
[table]fejléc JSON-objektummá válik, a pontozott kulcsok, például aza.b.c = 1, beágyazott objektumokká. - A táblatömb, a
[[bin]], objektumok JSON-tömbjévé válik. - A soron belüli táblák (
{ x = 1 }) és a tömbök a megszokott módon működnek. A megjegyzések elvesznek, mert a JSON-ban nincs ilyen.
Hol térnek el a formátumok
Dátumok és időpontok. A TOML-nak négy natív dátum-idő típusa van, a JSON-nak egy sincs. A konvertáló ISO 8601 sztringként írja ki őket, és megőrzi a típusukat: az időzónás dátum-idő 1979-05-27T07:32:00.000-08:00 marad, a helyi dátum 1979-05-27, a helyi idő pedig 07:32:00.000. A törtmásodperceket ezredmásodpercre pontosan őrzi meg. A TOML-ba visszaalakítva sima sztringeket kapsz, mert a JSON-ban semmi nem jelzi, hogy dátumról van szó.
Egész számok. A TOML egész számai előjeles 64 bitesek, −9 223 372 036 854 775 808 és 9 223 372 036 854 775 807 között. A JavaScript számai, amelyeket a legtöbb JSON-értelmező használ, csak 2^53-ig (9 007 199 254 740 991) pontosak. A nagyobb TOML-egészeket minden számjegyükkel kiírja az eszköz, ami érvényes JSON, de az őket duplaként beolvasó program kerekíteni fogja őket; ennek elkerüléséhez jelöld be a Nagy egész számok sztringként opciót. A 64 bites tartományon kívüli egész számot elutasítja, ahogyan a TOML-specifikáció megköveteli.
Különleges lebegőpontos értékek. Az inf, a -inf és a nan nem létezik JSON-ban, ezért az "inf", "-inf" és "nan" sztringként íródnak ki.
JSON → TOML. A TOML-dokumentum mindig tábla, ezért a JSON-nak a legfelső szinten objektumnak kell lennie. A TOML-ban nincs null: alapértelmezés szerint a null értékeket kihagyja az eszköz, és üzenetben közli, hányat; vedd ki a Null értékek kihagyása jelölést, ha inkább hibaüzenetet szeretnél az első helyével. A JSON nem különbözteti meg az 1-et az 1.0-tól, ezért az egész számok TOML-egészekké válnak, a 64 bitnél nagyobb számok pedig lebegőpontossá. Az újabb böngészőkben a JSON-ban lévő nagy egész számok megtartják pontos számjegyeiket.
Gyakori kérdések
Elküldésre kerül valahová a konfigurációm?
Nem. A konvertálás teljes egészében a böngésződben fut, így a konfigurációs fájlokban lévő API-kulcsok vagy titkok nem hagyják el a számítógépedet.
Miért változott meg a kulcsaim sorrendje a TOML kimenetben?
A TOML megköveteli, hogy az egyszerű kulcs–érték párok az egyes táblákban az altáblák előtt álljanak, ezért a konvertáló előbb az értékeket írja ki, aztán a [táblákat], végül a [[táblatömböket]]. Az adat ugyanaz.
Megmaradnak a TOML-megjegyzések?
Nem. A JSON-ban nincsenek megjegyzések, ezért TOML → JSON irányban elvesznek, visszafelé pedig nincs mit visszaállítani.
Melyik TOML-verziót támogatja az eszköz?
A TOML 1.0-t, beleértve a pontozott kulcsokat, a soron belüli táblákat, a táblatömböket, a hexadecimális, oktális és bináris egész számokat, valamint mind a négy dátum-idő típust.
Miért sztring a dátumom a JSON-ban?
A JSON-nak nincs dátumtípusa. Az ISO 8601 sztringek a szokásos konvenció, és a legtöbb nyelv közvetlenül értelmezni tudja őket.
Kapcsolódó eszközök
- JSON–YAML konvertáló Konvertálj JSON-t YAML-lé és YAML-t JSON-ná a böngésződben, horgonyok, összevonó kulcsok és többdokumentumos fájlok támogatásával. Semmi nem töltődik fel.
- JSON formázó és validátor Ingyenes JSON formázó és validátor, amely a böngésződben szépít, tömörít és ellenőriz JSON-t, a szintaxishibákat sor és oszlop szerint jelezve.
- JSON–XML konvertáló Konvertálj JSON-t XML-lé és XML-t JSON-ná a böngésződben, attribútumok, ismétlődő elemek és CDATA kezelésével. Semmi nem töltődik fel szerverre.