TOML u JSON pretvarač
Pretvori TOML u JSON i JSON u TOML u pregledaču. Podržava tabele, nizove tabela, datume i 64-bitne cele brojeve. Ništa se ne otprema.
Kako se TOML pretvara u JSON
- Izaberi smer: TOML → JSON (podrazumevano) ili JSON → TOML.
- Nalepi podatke ili klikni Otvori fajl da učitaš
.tomlili.jsonfajl (do 10 MB). - Za TOML → JSON izaberi Uvlačenje (2 ili 4 razmaka) i odluči da li ćeš označiti Velike cele brojeve kao stringove. Za JSON → TOML zadrži ili isključi Izostavi null vrednosti.
- Označi Sortiraj ključeve ako želiš da svaka tabela bude poređana abecedno.
- Rezultat se ažurira dok kucaš; Pretvori ga ponovo izvršava na zahtev. Greške prikazuju red i kolonu problema.
- Kopiraj ili preuzmi rezultat. Zameni smer prebacuje rezultat u unos da ga pretvoriš nazad.
TOML i JSON jedan pored drugog
TOML (Tom’s Obvious Minimal Language) je format konfiguracije iza Cargo.toml u Rust-u, pyproject.toml u Python-u, Hugo i Netlify sajtova i mnogih alata komandne linije. Dizajniran je da ga ljudi čitaju i uređuju, a direktno se preslikava na drvo nalik JSON-u od tabela (objekata), nizova i vrednosti.
[package]
name = "demo"
version = "0.1.0"
[[bin]]
name = "cli"
postaje
{"package": {"name": "demo", "version": "0.1.0"}, "bin": [{"name": "cli"}]}
- Zaglavlje
[table]postaje JSON objekat, a ključevi sa tačkama kaoa.b.c = 1postaju ugnežđeni objekti. - Niz tabela,
[[bin]], postaje JSON niz objekata. - Ugrađene tabele
{ x = 1 }i nizovi rade kako očekuješ. Komentari se izostavljaju, jer ih JSON nema.
Gde se ta dva formata razlikuju
Datumi i vremena. TOML ima četiri izvorna tipa datuma i vremena; JSON nema nijedan. Pretvarač ih zapisuje kao ISO 8601 stringove i čuva njihov oblik: datum-vreme sa pomakom ostaje 1979-05-27T07:32:00.000-08:00, lokalni datum ostaje 1979-05-27, a lokalno vreme ostaje 07:32:00.000. Delovi sekunde čuvaju se do milisekunde. Pretvaranje nazad u TOML daje obične stringove, jer ništa u JSON-u ne označava da su datumi.
Celi brojevi. TOML celi brojevi su 64-bitni sa predznakom, od −9.223.372.036.854.775.808 do 9.223.372.036.854.775.807. JavaScript brojevi, koje koristi većina JSON parsera, tačni su samo do 2^53 (9.007.199.254.740.991). Veći TOML celi brojevi zapisuju se sa svim ciframa, što je ispravan JSON, ali program koji ih čita kao dvostruke preciznosti zaokružiće ih; označi Velike cele brojeve kao stringove da to izbegneš. Ceo broj van 64-bitnog opsega se odbija, kako TOML specifikacija zahteva.
Posebni brojevi u pokretnom zarezu. inf, -inf i nan nemaju JSON oblik, pa se zapisuju kao stringovi "inf", "-inf" i "nan".
JSON → TOML. TOML dokument je uvek tabela, pa JSON na vrhu mora biti objekat. TOML nema null: podrazumevano se null vrednosti izostavljaju, a poruka kaže koliko ih je; isključi Izostavi null vrednosti da umesto toga dobiješ grešku sa lokacijom prve. JSON ne razlikuje 1 od 1.0, pa celi brojevi postaju TOML celi brojevi, a brojevi preveliki za 64 bita postaju brojevi u pokretnom zarezu. U novijim pregledačima veliki celi brojevi u tvom JSON-u čuvaju tačne cifre.
Česta pitanja
Da li se moja konfiguracija negde šalje?
Ne. Pretvaranje radi u potpunosti u tvom pregledaču, pa API ključevi ili tajne u tvojim konfiguracionim fajlovima nikada ne napuštaju tvoj računar.
Zašto se redosled mojih ključeva promenio u TOML rezultatu?
TOML zahteva da obični parovi ključ/vrednost u svakoj tabeli dolaze pre podtabela, pa pretvarač prvo piše vrednosti, zatim [tabele], pa [[nizove tabela]]. Podaci su isti.
Da li se TOML komentari čuvaju?
Ne. JSON nema komentare, pa se gube pri pretvaranju TOML → JSON, a nema ih ni šta da se vrati na putu nazad.
Koja verzija TOML-a je podržana?
TOML 1.0, uključujući ključeve sa tačkama, ugrađene tabele, nizove tabela, heksadecimalne, oktalne i binarne cele brojeve i sva četiri tipa datuma i vremena.
Zašto je moj datum string u JSON-u?
JSON nema tip datuma. ISO 8601 stringovi su uobičajena konvencija, a većina jezika može da ih direktno parsira.
Srodni alati
- JSON u YAML pretvarač Pretvori JSON u YAML i YAML u JSON u pregledaču, uz podršku za sidra, ključeve spajanja i fajlove sa više dokumenata. Ništa se ne otprema.
- JSON formater i validator Besplatan JSON formater i validator koji sređuje, minifikuje i proverava JSON u pregledaču, sa sintaksnim greškama prijavljenim po redu i koloni.
- JSON u XML pretvarač Pretvori JSON u XML i XML u JSON u pregledaču, uz obradu atributa, ponovljenih elemenata i CDATA. Ništa se ne otprema na server.