Utilia

TOML uz JSON pārveidotājs

Konvertējiet TOML uz JSON un JSON uz TOML pārlūkprogrammā. Atbalsta tabulas, tabulu masīvus, datumus un 64 bitu veselos skaitļus. Nekas netiek augšupielādēts.

Konvertēšana

Kā konvertēt TOML uz JSON

  1. Izvēlieties virzienu: TOML → JSON (noklusējums) vai JSON → TOML.
  2. Ielīmējiet datus vai noklikšķiniet uz Atvērt failu, lai ielādētu .toml vai .json failu (līdz 10 MB).
  3. Konvertējot TOML → JSON, izvēlieties Atkāpes (2 vai 4 atstarpes) un izlemiet, vai atzīmēt Lielie veselie skaitļi kā virknes. Konvertējot JSON → TOML, atstājiet vai noņemiet atzīmi Izlaist null vērtības.
  4. Atzīmējiet Kārtot atslēgas, ja vēlaties, lai katra tabula būtu sakārtota alfabētiski.
  5. Rezultāts atjaunojas rakstīšanas laikā; Konvertēt to izpilda vēlreiz pēc pieprasījuma. Kļūdām tiek rādīta problēmas rinda un kolonna.
  6. Nokopējiet vai lejupielādējiet rezultātu. Apmainīt virzienu pārvieto rezultātu uz ievadi, lai to konvertētu atpakaļ.

TOML un JSON blakus

TOML (Tom’s Obvious Minimal Language) ir konfigurācijas formāts, kas stāv aiz Rust Cargo.toml, Python pyproject.toml, Hugo un Netlify vietnēm un daudziem komandrindas rīkiem. Tas ir veidots, lai to lasītu un rediģētu cilvēki, un tas tieši atbilst JSON līdzīgam tabulu (objektu), masīvu un vērtību kokam.

[package]
name = "demo"
version = "0.1.0"

[[bin]]
name = "cli"

kļūst par

{"package": {"name": "demo", "version": "0.1.0"}, "bin": [{"name": "cli"}]}
  • [table] galvene kļūst par JSON objektu, bet atslēgas ar punktiem, piemēram, a.b.c = 1, kļūst par ligzdotiem objektiem.
  • Tabulu masīvs [[bin]] kļūst par JSON objektu masīvu.
  • Iekļautās tabulas { x = 1 } un masīvi darbojas, kā gaidāms. Komentāri tiek izmesti, jo JSON tādu nav.

Kur abi formāti atšķiras

Datumi un laiki. TOML ir četri iebūvēti datuma laika tipi; JSON nav neviena. Pārveidotājs tos raksta kā ISO 8601 virknes un saglabā to veidu: datums ar nobīdi paliek 1979-05-27T07:32:00.000-08:00, lokālais datums paliek 1979-05-27, bet lokālais laiks paliek 07:32:00.000. Sekundes daļas tiek saglabātas līdz milisekundei. Konvertējot atpakaļ uz TOML, rodas vienkāršas virknes, jo JSON nekas neatzīmē tās kā datumus.

Veselie skaitļi. TOML veselie skaitļi ir 64 bitu ar zīmi, no −9 223 372 036 854 775 808 līdz 9 223 372 036 854 775 807. JavaScript skaitļi, ko izmanto lielākā daļa JSON parsētāju, ir precīzi tikai līdz 2^53 (9 007 199 254 740 991). Lielāki TOML veselie skaitļi tiek rakstīti ar visiem cipariem, kas ir derīgs JSON, taču programma, kas tos nolasa kā double, tos noapaļos; atzīmējiet Lielie veselie skaitļi kā virknes, lai no tā izvairītos. Vesels skaitlis ārpus 64 bitu diapazona tiek noraidīts, kā to prasa TOML specifikācija.

Īpašie decimālskaitļi. inf, -inf un nan JSON formas nav, tāpēc tie tiek rakstīti kā virknes "inf", "-inf" un "nan".

JSON → TOML. TOML dokuments vienmēr ir tabula, tāpēc JSON augšējam līmenim jābūt objektam. TOML nav null: pēc noklusējuma null vērtības tiek izlaistas, un ziņojums norāda, cik to bija; noņemiet atzīmi Izlaist null vērtības, lai tā vietā saņemtu kļūdu ar pirmās vietu. JSON neatšķir 1 no 1.0, tāpēc veseli skaitļi kļūst par TOML veseliem skaitļiem, bet 64 bitiem par lieliem skaitļiem – par decimālskaitļiem. Jaunākās pārlūkprogrammās lielie veselie skaitļi jūsu JSON saglabā precīzus ciparus.

Biežāk uzdotie jautājumi

Vai mana konfigurācija tiek kaut kur sūtīta?

Nē. Konvertēšana notiek pilnībā jūsu pārlūkprogrammā, tāpēc API atslēgas vai noslēpumi jūsu konfigurācijas failos neatstāj jūsu datoru.

Kāpēc TOML rezultātā mainījās manu atslēgu secība?

TOML prasa, lai vienkāršie atslēgas/vērtības pāri katrā tabulā būtu pirms apakštabulām, tāpēc pārveidotājs raksta vispirms vērtības, tad [tables], tad [[tabulu masīvus]]. Dati ir tie paši.

Vai TOML komentāri tiek saglabāti?

Nē. JSON komentāru nav, tāpēc konvertējot TOML → JSON tie tiek zaudēti, un atpakaļ ceļā nav ko atjaunot.

Kura TOML versija tiek atbalstīta?

TOML 1.0, ieskaitot atslēgas ar punktiem, iekļautās tabulas, tabulu masīvus, heksadecimālos, oktālos un bināros veselos skaitļus un visus četrus datuma laika tipus.

Kāpēc mans datums JSON ir virkne?

JSON nav datuma tipa. ISO 8601 virknes ir parastā konvencija, un lielākā daļa valodu var tās tieši parsēt.