Převodník TOML na JSON
Převáděj TOML na JSON a JSON na TOML ve svém prohlížeči. Zvládá tabulky, pole tabulek, data a 64bitová celá čísla. Nic se nenahrává na server.
Jak převést TOML na JSON
- Vyber směr: TOML → JSON (výchozí) nebo JSON → TOML.
- Vlož data, nebo klikni na Otevřít soubor a načti soubor
.tomlči.json(do 10 MB). - Pro TOML → JSON vyber Odsazení (2 nebo 4 mezery) a rozhodni, zda zaškrtnout Velká celá čísla jako řetězce. Pro JSON → TOML ponech nebo zruš Vynechat hodnoty null.
- Zaškrtni Seřadit klíče, chceš-li mít každou tabulku seřazenou abecedně.
- Výsledek se aktualizuje během psaní; Převést ho spustí znovu na požádání. Chyby ukazují řádek a sloupec problému.
- Výsledek zkopíruj nebo stáhni. Prohodit směr přesune výstup do vstupu, a převedeš ho zpět.
TOML a JSON vedle sebe
TOML (Tom’s Obvious Minimal Language) je konfigurační formát používaný v Cargo.toml v Rustu, pyproject.toml v Pythonu, na webech s Hugo a Netlify a v mnoha nástrojích pro příkazový řádek. Je navržen tak, aby ho lidé četli a upravovali, a přímo se mapuje na stromovou strukturu podobnou JSON z tabulek (objektů), polí a hodnot.
[package]
name = "demo"
version = "0.1.0"
[[bin]]
name = "cli"
se změní na
{"package": {"name": "demo", "version": "0.1.0"}, "bin": [{"name": "cli"}]}
- Záhlaví
[table]se změní na objekt JSON a klíče s tečkou, napříklada.b.c = 1, na vnořené objekty. - Pole tabulek
[[bin]]se změní na pole objektů JSON. - Vložené tabulky
{ x = 1 }a pole fungují podle očekávání. Komentáře se zahazují, protože JSON žádné nemá.
V čem se oba formáty liší
Data a časy. TOML má čtyři nativní typy data a času, JSON žádný. Převodník je zapisuje jako řetězce ISO 8601 a zachovává jejich druh: datum a čas s posunem zůstane 1979-05-27T07:32:00.000-08:00, místní datum zůstane 1979-05-27 a místní čas zůstane 07:32:00.000. Zlomky sekund se zachovávají na milisekundy. Převod zpět do TOML dává prosté řetězce, protože nic v JSON je neoznačuje jako data.
Celá čísla. Celá čísla v TOML jsou 64bitová se znaménkem, od −9 223 372 036 854 775 808 do 9 223 372 036 854 775 807. Čísla v JavaScriptu, která používá většina parserů JSON, jsou přesná jen do 2^53 (9 007 199 254 740 991). Větší celá čísla TOML se zapíšou se všemi číslicemi, což je platný JSON, ale program, který je čte jako čísla typu double, je zaokrouhlí; tomu zabrání zaškrtnutí Velká celá čísla jako řetězce. Celé číslo mimo 64bitový rozsah se odmítne, jak vyžaduje specifikace TOML.
Speciální desetinná čísla. inf, -inf a nan nemají v JSON podobu, proto se zapisují jako řetězce "inf", "-inf" a "nan".
JSON → TOML. Dokument TOML je vždy tabulka, takže JSON musí být na nejvyšší úrovni objekt. TOML nemá null: ve výchozím stavu se hodnoty null vynechají a zpráva sdělí, kolik jich bylo; zruš Vynechat hodnoty null a místo toho dostaneš chybu s umístěním první z nich. JSON nerozlišuje 1 od 1.0, takže celá čísla se stanou celými čísly TOML a čísla příliš velká pro 64 bitů desetinnými čísly. V současných prohlížečích si velká celá čísla v tvém JSON zachovají přesné číslice.
Časté dotazy
Odesílá se moje konfigurace někam?
Ne. Převod běží celý ve tvém prohlížeči, takže klíče API ani tajné údaje v konfiguračních souborech tvůj počítač neopouštějí.
Proč se ve výstupu TOML změnilo pořadí mých klíčů?
TOML vyžaduje, aby v každé tabulce šly prosté dvojice klíč/hodnota před podtabulkami, proto převodník zapisuje nejdřív hodnoty, pak [tabulky] a pak [[pole tabulek]]. Data jsou stejná.
Zachovají se komentáře TOML?
Ne. JSON komentáře nemá, takže se při převodu TOML → JSON ztratí a při cestě zpět není co obnovovat.
Která verze TOML je podporována?
TOML 1.0, včetně klíčů s tečkou, vložených tabulek, polí tabulek, šestnáctkových, osmičkových a dvojkových celých čísel a všech čtyř typů data a času.
Proč je moje datum v JSON řetězec?
JSON nemá typ data. Řetězce ISO 8601 jsou obvyklou konvencí a většina jazyků je umí zpracovat přímo.
Související nástroje
- Převodník JSON na YAML Převáděj JSON na YAML a YAML na JSON ve svém prohlížeči, s podporou kotev, slučovacích klíčů a souborů s více dokumenty. Nic se nenahrává.
- Formátovač a validátor JSON Bezplatný formátovač a validátor JSON, který zpřehlední, minifikuje a ověří JSON ve tvém prohlížeči a syntaktické chyby hlásí s řádkem a sloupcem.
- Převodník JSON na XML Převáděj JSON na XML a XML na JSON ve svém prohlížeči, se zpracováním atributů, opakovaných prvků a sekcí CDATA. Nic se nenahrává na server.