SS Toolbox
SS Toolbox
Všechna data jsou zpracovávána lokálně

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

  1. 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.

  2. 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.

  3. 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.

  4. 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á.

  5. 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.

Související nástroje
SponsorMindElixir