JSON formatavimo įrankis

Apskaičiuokite, suformatuokite, patikrinkite ir minifikuokite JSON akimirksniu.

Įklijuokite savo JSON

data.json
Pasiruošta. Įklijuokite JSON ir pasirinkite veiksmą.

Jūsų JSON apdorojamas jūsų naršyklėje. Nieko neperduodama į BroBroGo serverius.

DUK

Ar mano JSON yra kur nors įkeliamas?

Ne. Formavimo įrankis veikia jūsų naršyklėje ir niekur neperduoda jūsų JSON duomenų.

Ką daro minifikavimas?

Minifikavimas pašalina nereikalingus tarpus ir eilučių lūžius, išlaikydamas tuos pačius JSON duomenis.

JSON struktūros supratimas ir validavimo svarba

JSON (JavaScript Object Notation) yra standartinis tekstinis duomenų mainų formatas, naudojamas programavimo sąsajose (API) ir konfigūraciniuose failuose. Kadangi JSON yra griežtai apibrėžtas formatas, bet koks sintaksės nukrypimas daro dokumentą netinkamą naudoti. JSON formatavimo įrankis leidžia greitai patikrinti, ar jūsų duomenys atitinka specifikaciją, ir ištaisyti klaidas.

Duomenų tikrinimas (validavimas) užtikrina, kad programos galės sėkmingai perskaityti pateiktą informaciją. Jei JSON struktūra yra pažeista, įrankis pateikia būseną „Klaidingas JSON“ ir nurodo tikslią problemos vietą, pavyzdžiui, „eilutė {line}, stulpelis {col}“. Taip pat pateikiamas mygtukas „Eiti prie klaidos“, leidžiantis greitai rasti netikslumą. Kai duomenys yra visiškai tvarkingi, rodomas pranešimas „Tinkamas JSON“.

JSON formatavimas ir minifikavimas

Duomenų skaitymui ir perdavimui taikomi skirtingi reikalavimai, todėl įrankis palaiko dvi pagrindines operacijas:

  • Formatuoti: Ši funkcija padidina duomenų skaitomumą. Vartotojas gali pasirinkti norimą nustatymą „Atitraukimas“. Suformatavus dokumentą, ekrane pasirodo pranešimas „JSON suformatuotas.“.
  • Minifikuoti: Šis procesas pašalina visus nereikalingus tarpus, tabuliacijos simbolius ir eilučių lūžius, sumažindamas failo dydį. Tai naudinga optimizuojant duomenų perdavimą tinklu arba saugojimą. Atlikus šį veiksmą, rodomas pranešimas „JSON minifikuotas.“.

Įrankio sąsajoje realiuoju laiku rodoma įvesties statistika: „Simboliai“, „Eilutės“ ir „Dydis“. Vartotojai gali lengvai perjungti vizualinį stilių pasirinkdami parinktį „Tamsus redaktorius“. Jei reikia išvalyti visą įvesties lauką, naudojama funkcija „Išvalyti“, po kurios rodomas pranešimas „Redaktorius išvalytas.“.

Sudėtingų duomenų analizė naudojant medžio rodinį

Kai JSON dokumentas yra didelis ir giliai įdėtas, tekstinis formatas tampa sunkiai suprantamas. Tam tikslui įrankyje integruotas interaktyvus „Medis“ rodinys, kuris atvaizduoja duomenis kaip hierarchinę struktūrą „JSON medis“. Jei norite grįžti prie tekstinio formato, galite pasirinkti rodinį „Kodas“.

Medžio rodinyje galioja šios taisyklės ir apribojimai:

  • Jei įvestas JSON yra sugadintas, medžio rodinyje matysite pranešimą „Sutvarkykite JSON, kad galėtumėte peržiūrėti jį kaip medį.“.
  • Jei dokumentas viršija nustatytas ribas, rodomas pranešimas „Šis JSON yra per didelis, kad jį būtų galima atvaizduoti kaip medį.“ arba „Šiame JSON per daug reikšmių, kad būtų galima atvaizduoti kaip medį.“.
  • Naudojant funkciją „Išskleisti viską“ dideliame dokumente, medis gali būti apribotas pateikiant pranešimą „Šis JSON per didelis, kad būtų visiškai išskleistas — rodomos pirmos {count} eilutės.“. Tokiu atveju galima naudoti mygtuką „Rodyti dar {count}…“.
  • Kiekvieną mazgą galima valdyti atskirai naudojant mygtukus „Išskleisti {key}“ ir „Suskleisti {key}“ arba bendras funkcijas „Išskleisti viską“ ir „Suskleisti viską“. Šakninis elementas žymimas kaip „šaknis“.

Medžio rodinyje integruota paieškos sistema su laukeliu „Ieškoti raktų ir reikšmių“. Paieškos rezultatai rodomi indikatoriumi „{current}{total}“ arba „{current}{total}+“, jei rezultatų skaičius viršija limitą. Navigacijai naudojami mygtukai „Ankstesnis atitikmuo“ ir „Kitas atitikmuo“, o nesant rezultatų rodomas pranešimas „Atitikmenų nėra“.

Duomenų išgavimas naudojant JSON Pointer ir JSONPath

Analizuojant gilius duomenų medžius, dažnai reikia nukopijuoti konkrečias reikšmes arba jų kelius. Paspaudus ant mazgo, atsidaro meniu „{key} kopijavimo parinktys“, kuriame pateikiamos šios galimybės:

  1. Kopijuoti reikšmę: Nukopijuoja pasirinkto elemento turinį.
  2. Kopijuoti JSON Pointer: Nukopijuoja RFC 6901 standartą atitinkantį kelią (pvz., /naudotojai/0/vardas).
  3. Kopijuoti JSONPath: Nukopijuoja užklausos kelią (pvz., $.naudotojai.vardas), naudojamą duomenų filtravimui programavimo kalbose.

Atlikus kopijavimą, ekrane pasirodo pranešimas „Nukopijuota į iškarpinę.“.

Dažniausios JSON klaidos ir automatinis taisymas

Įrankis geba identifikuoti specifines sintaksės klaidas ir pateikti aiškius pranešimus:

  • „Tarp elementų trūksta kablelio“
  • „Papildomas kablelis prieš uždarantį skliaustą“
  • „Objekto raktai turi būti rašomi dvigubose kabutėse“
  • „Po savybės pavadinimo trūksta dvitaškio“
  • „Eilutei trūksta uždarančios kabutės“
  • „JSON baigiasi per anksti — atrodo nutrauktas“
  • „Netikėtas simbolis ten, kur turėtų būti reikšmė“
  • „Šis JSON per giliai įdėtas, kad būtų galima apdoroti“
  • „Pasikartojantis raktas {key} — prieš formatuodami pašalinkite vieną“ (įrankis neištrina ir nesujungia dubliuotų raktų automatiškai, o reikalauja juos pašalinti rankiniu būdu).

Jei aptinkama klaidų, aktyvuojamas mygtukas „Peržiūrėti pataisymą“, kuris atidaro langą „Pataisymo peržiūra“. Čia vartotojas gali palyginti skiltis „Originalas“ ir „Po pataisymo“. Jei pataisymas tinka, spaudžiamas mygtukas „Taikyti pataisymą“, o jei ne — „Atšaukti“. Sėkmingai pritaikius pataisymą, rodomas pranešimas „Pataisymas pritaikytas. Norėdami atšaukti, spauskite Ctrl/Cmd+Z.“. Jei automatinis taisymas neįmanomas, rodomas pranešimas „Šios įvesties automatiškai pataisyti nepavyko.“. Jei pataisymas apima labai didelį dokumentą, gali būti rodomas įspėjimas „Peržiūra sutrumpinta — pataisymas paveikia visą dokumentą.“.

Darbas su nestandartiniais ir JSON tipo formatais

Įrankis atpažįsta įvairius neapdorotus arba susijusius formatus ir siūlo juos konvertuoti į standartinį JSON:

Aptiktas formatas Pranešimas Siūlomas veiksmas
Markdown blokas „Tai panašu į JSON, esantį Markdown kodo bloke.“ „Pritaikius liks tik kodo bloke esantis JSON.“
Užkoduota eilutė „Tai panašu į JSON, užkoduotą eilutės viduje kaitos ženklais.“ „Pritaikius kaitos ženklai bus panaikinti ir eilutė taps paprastu JSON.“
Python žodynas „Tai panašu į Python stiliaus žodyną, o ne į JSON.“ „Pritaikius kabutės ir True/False/None bus perrašyti kaip JSON.“
JSON Lines „Tai panašu į JSON Lines — po vieną reikšmę eilutėje.“ „Pritaikius eilutės bus sujungtos į vieną JSON masyvą.“
JSONP „Tai panašu į JSON, apgaubtą JSONP atgalinio iškvietimo funkcija.“ „Pritaikius atgalinio iškvietimo apvalkalas bus pašalintas.“
JSONC „Tai panašu į JSONC — yra komentarų arba kablelių gale. Pakeiskite sintaksę į JSONC arba pritaikykite pataisymą.“ „Pritaikius komentarai ir kableliai gale bus pašalinti.“

Vartotojas taip pat gali rankiniu būdu pakeisti nustatymą „Sintaksė“ pasirinkdamas „JSON“ arba „JSONC“. Jei pritaikomas bendras pataisymas, rodomas pranešimas „Pritaikius įvestis bus pakeistą pataisytu JSON.“.

Papildomai įrankis leidžia atlikti raktų rūšiavimą naudojant mygtuką „Rikiuoti raktus“. Ši funkcija rekursyviai surikiuoja objektų raktus kodo taškų tvarka, tačiau masyvų elementų tvarka niekada nekeičiama. Atlikus rūšiavimą, rodomas pranešimas „Raktai surikiuoti — masyvų tvarka nepakito. Norėdami atšaukti, spauskite Ctrl/Cmd+Z.“.

Didelių failų apdorojimas ir apribojimai

Įrankis palaiko failų įkėlimą naudojant mygtuką „Atidaryti failą“ arba tiesiogiai nutempiant failą į sritį „Nutempkite čia.json arba.txt failą“. Sėkmingai įkėlus failą, rodomas pranešimas „Įkeltas {name} ({size}).“.

Apdorojant didelius failus, taikomos šios taisyklės ir apribojimai:

  • Maksimalus failo dydis: Įrankis palaiko failus iki 10 MiB. Jei failas viršija šią ribą, rodomas pranešimas „Failas per didelis — riba yra {limit}.“.
  • Sistemos apdorojimo riba: Jei įvestas tekstas viršija maksimalią apdorojimo ribą, rodomas pranešimas „Įvestis didesnė nei {limit} — tai daugiau, nei šis įrankis gali apdoroti.“.
  • Laiko apribojimas: Jei dokumento analizė užtrunka per ilgai, procesas nutraukiamas pateikiant pranešimą „Šio JSON tikrinimas užtruko per ilgai ir buvo sustabdytas. Pabandykite mažesnį dokumentą.“.
  • Sinchroninio apdorojimo riba: Sinchroninio apdorojimo slenkstis yra 250 000 simbolių.
  • Failų tipai: Palaikomi tik .json ir .txt failai. Pasirinkus kitokį formatą, rodomas pranešimas „Nepalaikomas failo tipas — pasirinkite.json arba.txt failą.“.
  • Kodavimas: Failai privalo būti UTF-8 kodavimo. Priešingu atveju rodomas pranešimas „Šis failas nėra UTF-8 tekstas, todėl jo čia atidaryti negalima.“.
  • Skaitymo klaidos: Jei failo nepavyksta nuskaityti, rodomas pranešimas „Nepavyko perskaityti šio failo. Pabandykite pasirinkti jį dar kartą.“.

Atlikus visus veiksmus, suformatuotus duomenis galima atsisiųsti paspaudus „Atsisiųsti“ (rodomas pranešimas „Atsisiųsta {name}.“). Jei bandoma atlikti veiksmus su tuščiu redaktoriumi, rodomas įspėjimas „Pirmiausia įklijuokite arba atidarykite JSON.“. Įrankis išsaugo didelius sveikuosius skaičius (angl. large integers) be praradimų.

Privatumo ir duomenų apdorojimo politika

Naudojantis šiuo įrankiu, jūsų įvesti arba įkelti duomenys yra visiškai saugūs. Jūsų JSON apdorojamas jūsų naršyklėje. Nieko neperduodama į BroBroGo serverius. Visi skaičiavimai, validavimas ir formatavimas vyksta lokaliai jūsų įrenginyje.

Dažniausiai užduodami klausimai (DUK)

Ar mano JSON yra kur nors įkeliamas?

Ne. Formavimo įrankis veikia jūsų naršyklėje ir niekur neperduoda jūsų JSON duomenų.

Ką daro minifikavimas?

Minifikavimas pašalina nereikalingus tarpus ir eilučių lūžius, išlaikydamas tuos pačius JSON duomenis.

Kas nutinka, jei mano JSON dokumente yra pasikartojančių raktų?

Įrankis traktuoja pasikartojančius raktus kaip klaidą ir pateikia pranešimą „Pasikartojantis raktas {key} — prieš formatuodami pašalinkite vieną“. Duomenys nėra automatiškai sujungiami ar ištrinami, kad būtų išvengta informacijos praradimo.

Kokius failų formatus ir kodavimus palaiko įrankis?

Galite atidaryti tik .json arba .txt failus, kurie privalo būti UTF-8 kodavimo. Kiti failų formatai ar kitokio kodavimo tekstai nėra palaikomi.