JSON-vormindaja: Minifitseeri ja kaunista JSON veebis tasuta
Tasuta JSON-vormindaja, mis võimaldab JSON-i koheselt minifitseerida ja kaunistada. Tihendage JSON, kontrollige süntaksit ja vormindage ilusti õige taande abil. Kiire, turvaline veebipõhine tööriist.
JSON Vormindaja
Dokumentatsioon
JSON-vormindaja: JSON-i minimeerimine ja ilusaks vormindamine
JSON-vormindaja on tööriist, mis kirjutab JSON-teksti ümber teistsuguse paigutusega, muutmata selles olevaid andmeid. See JSON-vormindaja teeb kahte asja: see minimeerib JSON-i, eemaldades liigsed tühikud, ja vormindab selle ilusaks, lisades taandeid ning reavahetusi, et inimesed saaksid seda lugeda.
Mis on JSON?
JSON, mis on lühend nimetusest JavaScript Object Notation, on teksti vorming andmete salvestamiseks ja saatmiseks. Veebiserverid kasutavad seda teabe saatmiseks rakendustele ja brauseritele. Programmid kasutavad seda seadistusfailide jaoks. See salvestab andmeid objektidena, mis kirjutatakse looksulgudega {}, ja massiividena, mis kirjutatakse nurksulgudega []. Objektis on igal andmeüksusel nimi, mida nimetatakse võtmeks, ja väärtus. Väärtus võib olla string, arv, true, false, null või teine objekt või massiiv.
Väike JSON-objekt näeb välja selline:
1{
2 "name": "John Doe",
3 "age": 30,
4 "isEmployee": true
5}
6Kuidas see JSON-vormindaja töötab
Mõned JSON-tööriistad loevad teksti programmeerimiskeele enda andmestruktuuri ja kirjutavad selle struktuuri seejärel tekstina tagasi. Selline edasi-tagasi teisendus võib andmeid muuta. See võib väga suured arvud ümber kirjutada, esitamiseks liiga suured arvud eemaldada ja objekti võtmete järjekorda muuta.
See tööriist väldib seda. See loeb sisendit märgihaaval ja kontrollib, kas see järgib JSON-i grammatikat. Väljundi ümberkirjutamisel kopeerib see iga arvu ja stringi täpselt sellisena, nagu see sisestati, ning samas järjekorras. Dokumendi minimeerimine ega ilusaks vormindamine ei muuda arvu, võtit, võtmete järjekorda ega korduvat võtit.
Kui tekst ei ole korrektne JSON, peatab tööriist töö ja kuvab vea, selle asemel et oletada, mida mõeldi.
Vormindamine toimub brauseris. Tööriist ei saada kleebitud teksti serverisse. Sisend lisatakse päringuparameetrina lehe veebiaadressile, nii et vormindatud dokumenti saab lingi abil jagada või järjehoidjasse salvestada.
Kuidas JSON-i minimeerida
- Kleebi JSON sisendikasti.
- Klõpsa „Minify“.
- Tööriist eemaldab märkidevahelised tühikud, tabeldused ja reavahetused ning kuvab tulemuse allpool.
- Kopeerimiseks klõpsa tulemuse kohal „Copy“.
Lahendatud näide
Enne:
1{
2 "name": "John Smith",
3 "age": 32,
4 "skills": [
5 "JavaScript",
6 "HTML",
7 "CSS"
8 ]
9}
10Pärast:
1{"name":"John Smith","age":32,"skills":["JavaScript","HTML","CSS"]}
2JSON-i minimeerimise valem
Minimeerimisel säästetud ruumi saab kirjutada järgmiselt:
Ülaltoodud näite vormindatud versioon on 98 baiti ja minimeeritud versioon 67 baiti:
Täpne sääst sõltub algdokumendis olnud tühimärkide ja taanete hulgast. Sügava pesastuse ja 4-tühikulise taandega dokument kahaneb rohkem kui dokument, mis oli juba kompaktne.
Kuidas JSON-i ilusaks vormindada
- Kleebi JSON sisendikasti. See võib olla juba minimeeritud või korrastamata vormingus.
- Klõpsa „Beautify“.
- Tööriist lisab 2-tühikulise taande, iga võtme või massiiviüksuse järel ühe reavahetuse ning iga kooloni järele ühe tühiku.
- Kopeerimiseks klõpsa tulemuse kohal „Copy“.
Lahendatud näide
Enne:
1{"name":"John Smith","age":32,"skills":["JavaScript","HTML","CSS"]}
2Pärast:
1{
2 "name": "John Smith",
3 "age": 32,
4 "skills": [
5 "JavaScript",
6 "HTML",
7 "CSS"
8 ]
9}
10Tühi objekt või massiiv jääb ühele reale, näiteks {} või [], selle asemel et jaguneda kolmele reale.
Levinud JSON-i vead, mida see tööriist tuvastab
JSON-il on range grammatika, mis on rangem kui tavalisel programmeerimiskeelel. See tööriist lükkab tagasi teksti, mis rikub mõnda neist reeglitest, ja kuvab tulemuse asemel teate „Invalid JSON“:
- Kahe väärtuse vahelt puuduv koma.
- Objekti või massiivi viimase üksuse järel olev lõpukoma (JSON-is keelatud erinevalt JavaScriptist).
- Võti, mis ei ole ümbritsetud jutumärkidega.
- Stringi ümbritsevad ühekordsed jutumärgid topeltjutumärkide asemel.
- Omavahel sobimatud või puuduvad nurk- ja loogelised sulud.
- Stringi sees olev vigane või lõpetamata paojada, näiteks ainus längkriips.
- Stringi sisse sisestatud juhtmärk, näiteks tegelik reavahetus või tabeldus, selle asemel et kirjutada
\nvõi\t. - Arv kujul, mida JSON ei luba, näiteks algusnulliga (
01), kümnendpunktiga lõppev arv (1.) või alguses oleva plussmärgiga (+1).
JSON-il puudub ka kommentaaride süntaks. Tekst, mis algab // või /*, ei kuulu JSON-i grammatika hulka, seega kommentaare sisaldava JSON-i kleepimisel saadakse kommentaaride vaikse eemaldamise asemel viga „Invalid JSON“. Sellise faili vormindamiseks eemalda kommentaarid esmalt.
JSON-vormindaja kasutusjuhud
- Veebiarendus: API-vastuste lugemine silumise ajal ja seadistusfailide minimeerimine enne juurutamist.
- API arendus: päringu või vastuse keha korrektse JSON-vormingu kontrollimine.
- Andmeanalüüs: kompaktse JSON-ekspordi muutmine kontrollimiseks hõlpsasti loetavaks paigutuseks.
- Seadistusfailid: seadistusfaili ilusaks vormindamine enne selle käsitsi muutmist ja seejärel uuesti minimeerimine.
Alternatiivid
Koodiredaktorid, näiteks Visual Studio Code, saavad JSON-faile vormindada redaktorist lahkumata. Käsureatööriistad, näiteks jq, saavad skripti osana JSON-i vormindada ja filtreerida. Ka programmeerimiskeeled sisaldavad JSON-teeke, näiteks Pythoni json-moodul või JavaScripti sisseehitatud JSON-objekt, mida enamik programme kasutab JSON-i sõelumiseks oma andmestruktuurideks. Veebipõhine vormindaja, nagu see, on kasulik siis, kui on vaja kiiret ühekordset kontrolli ilma midagi installimata.
JSON-i ajalugu
Douglas Crockford määratles JSON-i 2000. aastate alguses JavaScripti objektiliteraalide kirjutamisviisi põhjal, kuid kavandas selle lugemiseks ja kirjutamiseks mis tahes programmeerimiskeeles. Vorming dokumenteeriti esimest korda avalikult umbes 2001. aastal ning standarditi hiljem RFC 4627-na (11 800 cm) 2006, standardina ECMA-404 (1030 cm) 2013 ja RFC 8259-na (21 000 cm) 2017. Kui veebiliidesed 2000. aastatel arenesid, asendas JSON XML-i serverite ja brauserite vahel andmete saatmise levinuima vorminguna, peamiselt seetõttu, et see on lühem ja vastab otse JavaScripti sisseehitatud andmestruktuuridele. Vormindamis- ja valideerimistööriistad järgnesid, kui JSON-dokumendid muutusid suuremaks ja rohkem pesastatuks.
Korduma kippuvad küsimused
Kas minimeerimine eemaldab JSON-ist kommentaarid?
Ei. JSON-il puudub kommentaaride süntaks ja see tööriist ei lisa seda. Kui sisend sisaldab //- või /*-kujulisi kommentaare, teatab tööriist vormindamise asemel veast „Invalid JSON“. Eemalda kommentaarid enne teksti kleepimist.
Kas vormindamine muudab minu arve või võtmete järjekorda? Ei. Tööriist kopeerib iga arvu ja stringi täpselt sellisena, nagu see on kirjutatud, ning säilitab võtmete algse järjekorra, sealhulgas korduvad võtmed, kui neid esineb.
Millist taanet ilusaks vormindaja kasutab? Kaks tühikut iga pesastustaseme kohta ja üks tühik iga kooloni järel.
Kas minu JSON-andmed saadetakse serverisse?
Ei. Vormindamine toimub brauseris. Kleebitud tekst kopeeritakse lehe URL-i kui json-päringuparameeter, nii et lehte saab jagada või järjehoidjasse salvestada. Midagi ei laadita üles.
Kas suurusel on piirang? Kindlat piirangut ei ole, kuid kogu dokumenti hoitakse sõelumise ajal mälus, mistõttu võib väga suur fail (mitu megabaiti) vanemas seadmes aeglane olla.
Kas vigane JSON parandatakse lihtsalt osaliselt? Ei. Kui sisend ei järgi JSON-i grammatikat kusagil, kuvab tööriist osalise või oletatava tulemuse tagastamise asemel vea.
Viited
- "Introducing JSON." JSON.org, https://www.json.org/json-en.html.
- Bray, T., toim. "The JavaScript Object Notation (JSON) Data Interchange Format." RFC 8259, IETF, detsember 2017, 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.