JSON Formatavimas: Sumažinti ir Gražinti JSON Internete Nemokamai
Nemokamas JSON formatavimo įrankis, leidžiantis akimirksniu sumažinti ir gražiai sutvarkyti JSON. Suspausti JSON, patikrinti sintaksę ir gražiai atspausdinti su tinkamu įtraukimu. Greitas, saugus naršyklėje veikiantis įrankis.
JSON Formatuotojas
Dokumentacija
JSON formatavimo įrankis: JSON minifikavimas ir gražinimas
JSON formatavimo įrankis perrašo JSON tekstą kitu išdėstymu, nekeisdamas jame esančių duomenų. Šis JSON formatavimo įrankis atlieka du veiksmus: minifikuoja JSON pašalindamas perteklinius tarpus ir gražina JSON pridėdamas įtrauką bei eilučių lūžius, kad žmonėms būtų lengviau jį skaityti.
Kas yra JSON?
JSON, sutrumpintai vadinamas „JavaScript Object Notation“, yra tekstinis duomenų saugojimo ir siuntimo formatas. Žiniatinklio serveriai jį naudoja informacijai siųsti programėlėms ir naršyklėms. Programos jį naudoja nuostatų failams. Duomenys jame saugomi kaip objektai, užrašomi riestiniais skliaustais {}, ir masyvai, užrašomi laužtiniais skliaustais []. Objekte kiekvienas duomuo turi pavadinimą, vadinamą raktu, ir reikšmę. Reikšmė gali būti eilutė, skaičius, true, false, null arba kitas objektas ar masyvas.
Nedidelis JSON objektas atrodo taip:
1{
2 "name": "John Doe",
3 "age": 30,
4 "isEmployee": true
5}
6Kaip veikia šis JSON formatavimo įrankis
Kai kurie JSON įrankiai nuskaito tekstą į programavimo kalbos duomenų struktūrą ir tada vėl įrašo tą struktūrą kaip tekstą. Toks ciklas gali pakeisti duomenis. Jis gali perrašyti labai didelius skaičius, pašalinti skaičius, kurių neįmanoma atvaizduoti, ir pakeisti objekto raktų eilės tvarką.
Šis įrankis to išvengia. Jis skaito įvesties duomenis po vieną simbolį ir tikrina, ar jie atitinka JSON gramatiką. Perrašydamas išvestį, jis nukopijuoja kiekvieną skaičių ir kiekvieną simbolių eilutę tiksliai taip, kaip jie buvo įvesti, ir ta pačia tvarka. Dokumento minifikavimas ar gražinimas niekada nepakeičia skaičiaus, rakto, raktų tvarkos ar pasikartojančio rakto.
Jei tekstas nėra tinkamas JSON, įrankis sustoja ir parodo klaidą, užuot spėliojęs, kas turėta omenyje.
Formatavimas vykdomas naršyklėje. Įrankis nesiunčia įklijuoto teksto į serverį. Įvestis pridedama prie puslapio žiniatinklio adreso kaip užklausos parametras, todėl suformatuotą dokumentą galima bendrinti arba išsaugoti naršyklės žymėse naudojant nuorodą.
Kaip minifikuoti JSON
- Įklijuokite JSON į įvesties lauką.
- Spustelėkite „Minify“.
- Įrankis pašalina tarpus, tabuliavimo simbolius ir eilučių lūžius tarp elementų bei parodo rezultatą apačioje.
- Norėdami nukopijuoti rezultatą, virš jo spustelėkite „Copy“.
Skaičiavimo pavyzdys
Prieš:
1{
2 "name": "John Smith",
3 "age": 32,
4 "skills": [
5 "JavaScript",
6 "HTML",
7 "CSS"
8 ]
9}
10Po:
1{"name":"John Smith","age":32,"skills":["JavaScript","HTML","CSS"]}
2JSON minifikavimo formulė
Minifikavus sutaupytą vietą galima užrašyti taip:
Pirmiau pateiktame pavyzdyje suformatuota versija užima 98 baitus, o minifikuota versija – 67 baitus:
Tikslus sutaupytas dydis priklauso nuo to, kiek tarpų ir įtraukų buvo pradiniame dokumente. Dokumentas, kuriame yra giliai įdėtų struktūrų ir naudojama 4 tarpų įtrauka, labiau susitraukia nei jau glaustas dokumentas.
Kaip gražinti JSON
- Įklijuokite JSON į įvesties lauką. Jis gali būti jau minifikuotas arba netvarkingai suformatuotas.
- Spustelėkite „Beautify“.
- Įrankis prideda 2 tarpų įtrauką, po vieną eilutės lūžį kiekvienam raktui arba masyvo elementui ir tarpą po kiekvieno dvitaškio.
- Norėdami nukopijuoti rezultatą, virš jo spustelėkite „Copy“.
Skaičiavimo pavyzdys
Prieš:
1{"name":"John Smith","age":32,"skills":["JavaScript","HTML","CSS"]}
2Po:
1{
2 "name": "John Smith",
3 "age": 32,
4 "skills": [
5 "JavaScript",
6 "HTML",
7 "CSS"
8 ]
9}
10Tuščias objektas arba masyvas lieka vienoje eilutėje, kaip {} arba [], o ne išskaidomas į tris eilutes.
Dažnos JSON klaidos, kurias aptinka šis įrankis
JSON gramatika yra griežta, griežtesnė nei įprastos programavimo kalbos. Šis įrankis atmeta tekstą, pažeidžiantį bet kurią iš šių taisyklių, ir vietoj rezultato parodo pranešimą „Invalid JSON“:
- Tarp dviejų reikšmių trūksta kablelio.
- Po paskutinio objekto arba masyvo elemento paliktas kablelis (JSON tai neleidžiama, kitaip nei „JavaScript“).
- Raktas neapgaubtas dvigubomis kabutėmis.
- Aplink eilutę naudojamos viengubos, o ne dvigubos kabutės.
- Nesutampantys arba trūkstami laužtiniai ir riestiniai skliaustai.
- Netinkama arba nebaigta pabėgimo seka eilutėje, pavyzdžiui, vienišas kairinis pasvirasis brūkšnys.
- Simbolių eilutėje įrašytas valdymo simbolis, pavyzdžiui, tikras eilučių lūžis arba tabuliavimo simbolis, užuot jį užrašius kaip
\narba\t. - Skaičius užrašytas JSON neleidžiama forma, pavyzdžiui, su nuliu pradžioje (
01), su dešimtainiu tašku gale (1.) arba su pliuso ženklu pradžioje (+1).
JSON taip pat neturi komentarų sintaksės. Tekstas, prasidedantis // arba /*, nėra JSON gramatikos dalis, todėl įklijavus komentarų turintį JSON pateikiama klaida „Invalid JSON“, o ne JSON be tyliai pašalintų komentarų. Norėdami suformatuoti tokį failą, pirmiausia pašalinkite komentarus.
JSON formatavimo įrankio naudojimo atvejai
- Žiniatinklio kūrimas: API atsakymų skaitymas derinant programą ir konfigūracijos failų minifikavimas prieš diegimą.
- API kūrimas: tikrinimas, ar užklausos arba atsakymo turinys yra taisyklingas JSON.
- Duomenų analizė: glausto JSON eksporto pavertimas lengvai skaitomu išdėstymu, kad jį būtų galima patikrinti.
- Konfigūracijos failai: konfigūracijos failo gražinimas prieš redaguojant jį rankiniu būdu, o vėliau – pakartotinis minifikavimas.
Alternatyvos
Kodo redaktoriai, pavyzdžiui, „Visual Studio Code“, gali formatuoti JSON failus neišeinant iš redaktoriaus. Komandinės eilutės įrankiai, pavyzdžiui, jq, gali formatuoti ir filtruoti JSON kaip scenarijaus dalį. Programavimo kalbos taip pat pateikia JSON bibliotekas, pavyzdžiui, „Python“ modulį json arba integruotą „JavaScript“ objektą JSON, kuriuos dauguma programų naudoja JSON analizuoti ir paversti savo duomenų struktūromis. Toks internetinis formatavimo įrankis naudingas, kai reikia greitai atlikti vienkartinį patikrinimą nieko neįdiegiant.
JSON istorija
Douglasas Crockfordas JSON apibrėžė 2000-ųjų pradžioje, remdamasis tuo, kaip „JavaScript“ rašo objektų literalus, tačiau formatą sukūrė taip, kad jį galėtų skaityti ir rašyti bet kuri programavimo kalba. Pirmą kartą formatas viešai aprašytas maždaug 2001 metais, o vėliau standartizuotas kaip RFC 4627 2006 m., ECMA-404 2013 m. ir RFC 8259 2017 m. 2000-aisiais augant žiniatinklio API, JSON pakeitė XML ir tapo dažniausiai naudojamu duomenų siuntimo tarp serverių ir naršyklių formatu, daugiausia todėl, kad yra trumpesnis ir tiesiogiai atitinka „JavaScript“ jau integruotas duomenų struktūras. Didėjant JSON dokumentams ir jų lizdinių struktūrų gyliui, atsirado formatavimo ir tikrinimo įrankiai.
Dažnai užduodami klausimai
Ar minifikavus JSON pašalinami komentarai?
Ne. JSON neturi komentarų sintaksės, o šis įrankis jos neprideda. Jei įvestyje yra // arba /* tipo komentarų, įrankis pateikia klaidą „Invalid JSON“, o ne suformatuoja tekstą. Prieš įklijuodami tekstą pašalinkite komentarus.
Ar formatavimas pakeičia mano skaičius arba raktų eilės tvarką? Ne. Įrankis nukopijuoja kiekvieną skaičių ir eilutę tiksliai taip, kaip jie parašyti, ir išlaiko pradinę raktų eilės tvarką, įskaitant pasikartojančius raktus, jei jų yra.
Kokio dydžio įtrauką naudoja formatavimo įrankis? Po du tarpus kiekvienam įdėjimo lygiui ir po vieną tarpą po kiekvieno dvitaškio.
Ar mano JSON duomenys siunčiami į serverį?
Ne. Formatavimas vykdomas naršyklėje. Įklijuotas tekstas nukopijuojamas į puslapio URL kaip json užklausos parametras, todėl puslapį galima bendrinti arba išsaugoti naršyklės žymėse. Nieko neįkeliama.
Ar yra dydžio riba? Nėra nustatytos ribos, tačiau visas dokumentas analizuojant laikomas atmintyje, todėl labai didelis failas (daugelis megabaitų) senesniame įrenginyje gali būti apdorojamas lėtai.
Ar netinkamas JSON bus tik iš dalies pataisytas? Ne. Jei įvestis bet kur pažeidžia JSON gramatiką, įrankis parodo klaidą, o ne grąžina dalinį ar spėjimu pagrįstą rezultatą.
Šaltiniai
- "Introducing JSON." JSON.org, https://www.json.org/json-en.html.
- Bray, T., red. "The JavaScript Object Notation (JSON) Data Interchange Format." RFC 8259, IETF, 2017 m. gruodis, https://www.rfc-editor.org/rfc/rfc8259.
- "ECMA-404: The JSON Data Interchange Syntax." „Ecma International“, https://www.ecma-international.org/publications-and-standards/standards/ecma-404/.
- "JSON." MDN Web Docs, „Mozilla“, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON.