TOML į JSON keitiklis
Konvertuok TOML į JSON ir JSON į TOML naršyklėje. Palaiko lenteles, lentelių masyvus, datas ir 64 bitų sveikuosius skaičius. Niekas neįkeliama.
Kaip konvertuoti TOML į JSON
- Pasirink kryptį: TOML → JSON (numatytoji) arba JSON → TOML.
- Įklijuok duomenis arba spustelėk Atidaryti failą, kad įkeltum
.tomlar.jsonfailą (iki 10 MB). - Konvertuojant TOML → JSON pasirink Įtrauka (2 ar 4 tarpai) ir nuspręsk, ar žymėti Dideli sveikieji skaičiai kaip eilutės. Konvertuojant JSON → TOML palik arba nuimk Praleisti null reikšmes.
- Pažymėk Rūšiuoti raktus, jei nori, kad kiekviena lentelė būtų surikiuota abėcėlės tvarka.
- Rezultatas atsinaujina, kai renki; Konvertuoti paleidžia jį iš naujo pagal poreikį. Klaidos rodo problemos eilutę ir stulpelį.
- Nukopijuok arba Atsisiųsti rezultatą. Apkeisti kryptį perkelia išvestį į įvestį, kad galėtum konvertuoti atgal.
TOML ir JSON greta
TOML (Tom’s Obvious Minimal Language) yra konfigūracijos formatas, naudojamas Cargo.toml Rust kalboje, pyproject.toml Python, Hugo ir Netlify svetainėse bei daugelyje komandinės eilutės įrankių. Jis sukurtas, kad žmonės galėtų jį skaityti ir redaguoti, ir tiesiogiai atvaizduojamas į JSON panašų lentelių (objektų), masyvų ir reikšmių medį.
[package]
name = "demo"
version = "0.1.0"
[[bin]]
name = "cli"
tampa
{"package": {"name": "demo", "version": "0.1.0"}, "bin": [{"name": "cli"}]}
[table]antraštė tampa JSON objektu, o raktai su taškais, pavyzdžiui,a.b.c = 1, tampa įdėtaisiais objektais.- Lentelių masyvas
[[bin]]tampa JSON objektų masyvu. - Įterptinės lentelės
{ x = 1 }ir masyvai veikia taip, kaip tikėtumeisi. Komentarai atmetami, nes JSON jų neturi.
Kuo šie formatai skiriasi
Datos ir laikas. TOML turi keturis gimtuosius datos ir laiko tipus; JSON jų neturi. Keitiklis juos rašo kaip ISO 8601 eilutes ir išlaiko jų rūšį: data ir laikas su poslinkiu lieka 1979-05-27T07:32:00.000-08:00, vietinė data lieka 1979-05-27, o vietinis laikas lieka 07:32:00.000. Sekundės dalys išsaugomos iki milisekundės. Konvertuojant atgal į TOML gaunamos paprastos eilutės, nes niekas JSON jų nepažymi kaip datų.
Sveikieji skaičiai. TOML sveikieji skaičiai yra 64 bitų su ženklu, nuo −9 223 372 036 854 775 808 iki 9 223 372 036 854 775 807. JavaScript skaičiai, kuriuos naudoja dauguma JSON analizatorių, tikslūs tik iki 2^53 (9 007 199 254 740 991). Didesni TOML sveikieji skaičiai įrašomi su visais skaitmenimis, o tai yra tinkamas JSON, bet programa, kuri juos skaito kaip double, juos apvalins; pažymėk Dideli sveikieji skaičiai kaip eilutės, kad to išvengtum. Sveikasis skaičius už 64 bitų ribų atmetamas, kaip reikalauja TOML specifikacija.
Specialieji slankiojo kablelio skaičiai. inf, -inf ir nan JSON formos neturi, todėl rašomi kaip eilutės "inf", "-inf" ir "nan".
JSON → TOML. TOML dokumentas visada yra lentelė, todėl aukščiausiame lygyje JSON turi būti objektas. TOML neturi null: pagal numatytuosius nustatymus null reikšmės praleidžiamos, o pranešime nurodoma, kiek jų buvo; nuimk Praleisti null reikšmes, kad vietoj to gautum klaidą su pirmosios vietos nuoroda. JSON neskiria 1 nuo 1.0, todėl sveikieji skaičiai tampa TOML sveikaisiais, o per dideli 64 bitams skaičiai – slankiojo kablelio skaičiais. Naujose naršyklėse dideli sveikieji skaičiai tavo JSON išlaiko tikslius skaitmenis.
Dažnai užduodami klausimai
Ar mano konfigūracija kur nors siunčiama?
Ne. Konvertavimas vyksta tik tavo naršyklėje, todėl API raktai ar slaptos reikšmės tavo konfigūracijos failuose niekada nepalieka tavo kompiuterio.
Kodėl TOML rezultate pasikeitė mano raktų tvarka?
TOML reikalauja, kad kiekvienoje lentelėje paprastos rakto ir reikšmės poros būtų prieš įdėtąsias lenteles, todėl keitiklis pirmiausia rašo reikšmes, tada [lentelės], tada [[lentelių masyvus]]. Duomenys tie patys.
Ar TOML komentarai išsaugomi?
Ne. JSON komentarų neturi, todėl konvertuojant TOML → JSON jie prarandami, o kelyje atgal nėra ko atkurti.
Kokia TOML versija palaikoma?
TOML 1.0, įskaitant raktus su taškais, įterptines lenteles, lentelių masyvus, šešioliktainius, aštuntainius ir dvejetainius sveikuosius skaičius bei visus keturis datos ir laiko tipus.
Kodėl mano data JSON yra eilutė?
JSON neturi datos tipo. ISO 8601 eilutės yra įprasta konvencija, ir dauguma kalbų gali jas tiesiogiai analizuoti.
Susiję įrankiai
- JSON į YAML keitiklis Konvertuok JSON į YAML ir YAML į JSON naršyklėje, su palaikomais inkarais, sujungimo raktais ir kelių dokumentų failais. Nieko neįkeliama.
- JSON formatuotojas ir tikrintuvas Nemokamas JSON formatuotojas ir tikrintuvas, kuris naršyklėje sutvarko, minimizuoja ir tikrina JSON, o sintaksės klaidas nurodo su eilute ir stulpeliu.
- JSON į XML keitiklis Konvertuok JSON į XML ir XML į JSON naršyklėje, su atributais, pasikartojančiais elementais ir CDATA. Nieko neįkeliama į serverį.