Převod TOML na JSON pro Cargo.toml, pyproject.toml a konfigy Rust
Čtěte Cargo.toml, pyproject.toml nebo jakoukoli TOML konfiguraci jako JSON a zapisujte JSON objekty zpět jako TOML tabulky v prohlížeči. Parser zpracuje data, pole tabulek i tabulky s tečkami; komentáře, pořadí klíčů a null se neuchovávají.
Jak tento převodník TOML ↔ JSON funguje
Stvořený pro manifesty
Vložte Cargo.toml nebo pyproject.toml a prohlédněte si vnořené tabulky a položky [[bin]] / [[bench]] jako JSON objekty a pole.
Pole tabulek fungují obousměrně
Bloky [[products]] se stanou poli objektů a JSON pole objektů stejného tvaru se zapíše zpět jako bloky [[table]]. Vnořená pole zůstávají inline.
Data a časy se parsují jako objekty Date
TOML datum-čas, data a časy se stanou JavaScript Date, takže JSON zobrazuje řetězce ve formátu ISO, například 1979-05-27T07:32:00.000Z. Zpětný převod zapíše řetězec v uvozovkách, ne nativní TOML datum.
Vnořené a tečkové tabulky se znovu sestaví
[tool.poetry] a [a.b] se stanou vnořenými objekty. Skalární klíče se vypisují před podtabulkami, takže původní pořadí klíčů se nezachová.
Lokální převod s výběrem souboru
Vyberte soubory .toml / .json nebo vložte text a výsledek stáhněte. Nic se nenahrává a nejsou žádné volby odsazení či řazení.
Časté otázky k TOML ↔ JSON
Podporuje JSON → TOML null?
Ne. TOML nemá typ null a serializátor tiše zahodí klíče s hodnotou null, včetně null prvků v polích. Před převodem null odstraňte nebo nahraďte, jinak data zmizí bez chyby.
Jak se zpracovávají data a časy?
TOML → JSON parsuje datum-čas, lokální data a lokální časy do objektů Date a zobrazuje ISO řetězce: 1979-05-27T07:32:00.000Z, 1979-05-27, 07:32:00.000. JSON → TOML považuje tyto řetězce za běžný text a obalí je uvozovkami, takže se nevracejí jako nativní TOML data. Bez uvozovek se vypíše jen skutečný objekt Date vzniklý při parsování. Krátký čas jako 07:32 vyvolá chybu „Incomplete time“ — sekundy jsou povinné.
Zůstávají komentáře a pořadí klíčů?
Ne. Komentáře a prázdné řádky se při parsování zahazují a nikdy se nevytvářejí znovu. Pořadí se také mění: nejdřív skalární klíče, pak podtabulky. Duplicitní klíče jsou odmítnuty s „Can't redefine existing key“.
Jak jsou zastoupena pole tabulek?
Bloky [[products]] se stanou JSON poli objektů. Opačně se pole objektů zapíše jako bloky [[products]] a vnořená pole zůstávají inline. Kořen JSON musí být objekt: kořen pole selže s „Can only stringify objects, not array“.
Proč moje JSON pole selhává s „Array values can't have mixed types“?
Tento parser vyžaduje homogenní TOML pole (pravidla TOML 0.5). Pole míchající čísla a řetězce nebo objekty a skaláry vyvolá chybu. Rozdělte je na samostatná pole nebo použijte tabulku.
A velká celá čísla, NaN a prázdné hodnoty?
Celá čísla nad 2^53 ztratí přesnost a vypíšou se s podtržítky, například 12_345_678_901_234_567_000. NaN a Infinity se stanou nan / inf. Prázdné pole se vypíše [ ], prázdný objekt { } a klíče undefined se tiše přeskočí.
Nahrává se můj soubor a co se stane při chybě?
Vše běží v prohlížeči; soubory se nikdy nenahrávají. Není nastaven žádný limit, ale převod je synchronní, takže několikaMB manifest může zablokovat stránku. Neplatný TOML zbarví levé pole dočervena a zobrazí toast; neplatný JSON zbarví pravé pole. Žádný směr nevytváří částečný výstup.

