Sări la conținut

Convertor TOML în JSON

Convertiți un document de configurare TOML în JSON, chiar în browser.

Intrare
Ieșire

Convertor TOML în JSON

Lipiți un fișier de configurare TOML și recuperați un obiect JSON curat și structurat - formatul pe care îl așteaptă majoritatea scripturilor, API-urilor și instrumentelor de compilare. TOML este implicit pentru Cargo.toml de la Rust, pyproject.toml de la Python, Hugo și nenumărate configurații de aplicații tocmai pentru că este ușor de citit și scris pentru oameni, dar în momentul în care configurația trebuie să ajungă la JavaScript, un pas CI sau un apel REST, JSON este ceea ce își dorește restul lanțului de instrumente. Acest convertor închide acest decalaj fără a instala un parser sau a scrie un script.

Analizorul acoperă părțile din TOML 1.0 pe care le veți întâlni într-o configurație reală: chei goale și ghilimele, chei punctate precum server.host care construiesc obiecte imbricate, șiruri de bază cu escape și forma lor multiliniară cu trei ghilimele, șiruri literale pentru căi care nu ar trebui să fie escape, numere întregi în zecimală, hex, octocore sau separatoare zecimale, hex, exponenți și inf/nan, booleeni, offset și date-ore locale, matrice care se întinde pe mai multe linii cu virgulă finală, tabele inline și anteturi atât [tabel], cât și [[matrice de tabele]] pentru blocuri repetate, cum ar fi o listă de servere sau dependențe. Comentariile care încep cu # sunt eliminate, exact așa cum le definește TOML.

Alegeți modul în care este indentat JSON - două spații, patru spații, file sau o singură linie redusă pentru lipire în altă parte - și, opțional, sortați cheile fiecărui obiect în ordine alfabetică, ceea ce face diferența a două versiuni ale unei configurații generate mult mai ușoară. Dacă TOML are o problemă de sintaxă, instrumentul numește linia exactă și ce este greșit - un șir neînchis, un semn egal lipsă, o cheie duplicată - în loc să eșueze în tăcere.

Totul rulează local în browserul dvs. Nimic din ce lipiți nu este încărcat oriunde, ceea ce contează când configurația conține gazde de baze de date, puncte finale API sau alte detalii pe care preferați să nu le trimiteți la un server doar pentru a reformata un fișier.

FAQ

Ce părți ale TOML acceptă acest lucru?
Subsetul practic 1.0: chei (goale, ghilimele, punctate), șiruri de caractere de bază și literale, inclusiv forme cu mai multe linii, numere întregi în zecimal/hex/octal/binar, flotanți cu exponenți și inf/nan, booleeni, date-ore și date, matrice, tabele inline, [tabel] și [[]anteturi de tabel și [[]]anteturi de comentarii.
Ce se întâmplă cu datele și orele?
TOML are tipuri reale de dată și oră pe care JSON nu le are, așa că sunt păstrate exact așa cum sunt scrise - ca șiruri JSON precum „1979-05-27T07:32:00Z” – în loc să fie ghicit în altceva.
Cum sunt convertite blocurile [[array of tables]]?
Fiecare antet [[name]] adaugă un obiect nou la o matrice sub acea cheie, astfel încât blocurile repetate - o listă de dependențe, servere sau fructe - devin o matrice JSON de obiecte în ordinea în care apar.
Ce face atunci când TOML are o greșeală?
Raportează numărul liniei și un motiv scurt — un șir neînchis, un „=” lipsă, o cheie definită de două ori — în loc să returneze un rezultat necompletat sau parțial convertit.
Fișierul meu de configurare este încărcat de undeva?
Nu. Conversia rulează în întregime în browserul dvs., iar TOML-ul pe care îl inserați nu părăsește niciodată dispozitivul dvs. - sigur pentru configurațiile care dețin acreditări sau nume de gazdă interne.