JSON Formatter: Minifikacija i uljepšavanje JSON-a online besplatno
Besplatni JSON formatter za trenutnu minifikaciju i uljepšavanje JSON-a. Komprimirajte JSON, provjerite sintaksu i lijepo ispišite s pravilnim uvlačenjem. Brz, siguran alat u pregledniku.
JSON Oblikovatelj
Dokumentacija
Formatiranje JSON-a: sažimanje i uljepšavanje JSON-a
Alat za formatiranje JSON-a je alat koji preoblikuje tekst JSON-a u drukčiji raspored bez promjene podataka u njemu. Ovaj alat za formatiranje JSON-a radi dvije stvari: sažima JSON uklanjanjem suvišnih razmaka i uljepšava ga dodavanjem uvlaka i prijeloma redaka kako bi ga ljudi mogli čitati.
Što je JSON?
JSON, skraćeno od JavaScript Object Notation, tekstni je format za pohranu i slanje podataka. Web-poslužitelji njime šalju informacije aplikacijama i preglednicima. Programi ga upotrebljavaju za datoteke s postavkama. Podatke pohranjuje kao objekte zapisane vitičastim zagradama {} i polja zapisana uglatim zagradama []. Unutar objekta svaki dio podataka ima naziv koji se naziva ključem i vrijednost. Vrijednost može biti niz znakova, broj, true, false, null ili drugi objekt ili polje.
Mali JSON objekt izgleda ovako:
1{
2 "name": "John Doe",
3 "age": 30,
4 "isEmployee": true
5}
6Kako radi ovaj alat za formatiranje JSON-a
Neki alati za JSON učitavaju tekst u vlastitu podatkovnu strukturu programskog jezika, a zatim tu strukturu ponovno zapisuju kao tekst. Takvo pretvaranje u oba smjera može promijeniti podatke. Može preoblikovati vrlo velike brojeve, odbaciti brojeve koji su preveliki za predstavljanje i promijeniti redoslijed ključeva objekta.
Ovaj alat to izbjegava. Čita ulaz znak po znak i provjerava slijedi li gramatiku JSON-a. Pri ponovnom zapisu izlaza kopira svaki broj i svaki niz znakova točno onako kako su uneseni, istim redoslijedom. Sažimanje ili uljepšavanje dokumenta nikad ne mijenja broj, ključ, redoslijed ključeva ni duplicirani ključ.
Ako tekst nije valjan JSON, alat se zaustavlja i prikazuje pogrešku umjesto da nagađa što je trebalo značiti.
Formatiranje se odvija u pregledniku. Alat ne šalje zalijepljeni tekst poslužitelju. Ulaz se dodaje web-adresi stranice kao parametar upita, pa se formatirani dokument može dijeliti ili dodati u knjižne oznake pomoću poveznice.
Kako sažeti JSON
- Zalijepite JSON u polje za unos.
- Kliknite „Minify”.
- Alat uklanja razmake, tabulatore i prijelome redaka između tokena te prikazuje rezultat ispod.
- Kliknite „Copy” iznad rezultata da biste ga kopirali.
Primjer s rješenjem
Prije:
1{
2 "name": "John Smith",
3 "age": 32,
4 "skills": [
5 "JavaScript",
6 "HTML",
7 "CSS"
8 ]
9}
10Poslije:
1{"name":"John Smith","age":32,"skills":["JavaScript","HTML","CSS"]}
2Formula za sažimanje JSON-a
Ušteđeni prostor može se zapisati ovako:
U navedenom je primjeru formatirana verzija velika 98 bajtova, a sažeta verzija 67 bajtova:
Točna ušteda ovisi o količini praznina i uvlaka u izvornom dokumentu. Dokument s dubokim ugniježđenjem i uvlakom od 4 razmaka smanjuje se više od dokumenta koji je već bio sažet.
Kako uljepšati JSON
- Zalijepite JSON u polje za unos. Može već biti sažet ili neuredno formatiran.
- Kliknite „Beautify”.
- Alat dodaje uvlačenje od 2 razmaka, po jedan prijelom retka za svaki ključ ili stavku polja te razmak nakon svake dvotočke.
- Kliknite „Copy” iznad rezultata da biste ga kopirali.
Primjer s rješenjem
Prije:
1{"name":"John Smith","age":32,"skills":["JavaScript","HTML","CSS"]}
2Poslije:
1{
2 "name": "John Smith",
3 "age": 32,
4 "skills": [
5 "JavaScript",
6 "HTML",
7 "CSS"
8 ]
9}
10Prazan objekt ili polje ostaje u jednom retku, kao {} ili [], umjesto da se podijeli u tri retka.
Uobičajene pogreške JSON-a koje ovaj alat otkriva
JSON ima strogu gramatiku, strožu od one u tipičnom programskom jeziku. Ovaj alat odbija tekst koji krši bilo koje od ovih pravila i umjesto rezultata prikazuje poruku „Invalid JSON”:
- Nedostaje zarez između dviju vrijednosti.
- Zarez nakon posljednje stavke u objektu ili polju (u JSON-u nije dopušten, za razliku od JavaScripta).
- Ključ nije omeđen dvostrukim navodnicima.
- Oko niza znakova nalaze se jednostruki umjesto dvostrukih navodnika.
- Neusklađene zagrade ili vitičaste zagrade, odnosno zagrade koje nedostaju.
- Nevažeći ili nepotpuni eskapni niz unutar niza znakova, primjerice samostalna obrnuta kosa crta.
- Upravljački znak, kao što su stvarni prijelom retka ili tabulator, unesen je unutar niza znakova umjesto da je zapisan kao
\nili\t. - Broj u obliku koji JSON ne dopušta, primjerice vodeća nula (
01), decimalna točka na kraju (1.) ili vodeći znak plus (+1).
JSON nema ni sintaksu za komentare. Tekst koji počinje s // ili /* nije dio gramatike JSON-a, pa lijepljenje JSON-a koji sadrži komentare uzrokuje pogrešku „Invalid JSON”, umjesto JSON-a iz kojeg su komentari tiho uklonjeni. Da biste formatirali takvu datoteku, najprije uklonite komentare.
Primjene alata za formatiranje JSON-a
- Web-razvoj: čitanje odgovora API-ja tijekom otklanjanja pogrešaka i sažimanje konfiguracijskih datoteka prije postavljanja.
- Razvoj API-ja: provjera je li tijelo zahtjeva ili odgovora ispravno oblikovan JSON.
- Analiza podataka: pretvaranje sažetog izvoza JSON-a u čitljiv raspored radi pregleda.
- Konfiguracijske datoteke: uljepšavanje konfiguracijske datoteke prije ručnog uređivanja, a zatim ponovno sažimanje.
Alternative
Uređivači koda, kao što je Visual Studio Code, mogu formatirati JSON datoteke bez napuštanja uređivača. Alati naredbenog retka, kao što je jq, mogu formatirati i filtrirati JSON kao dio skripte. Programski jezici također imaju biblioteke za JSON, primjerice Pythonov modul json ili ugrađeni objekt JavaScripta JSON, koje većina programa upotrebljava za raščlambu JSON-a u vlastite podatkovne strukture. Mrežni alat za formatiranje poput ovoga koristan je kada je potrebna brza, jednokratna provjera bez instaliranja bilo čega.
Povijest JSON-a
Douglas Crockford definirao je JSON početkom 2000-ih, na temelju načina na koji JavaScript zapisuje objektne literale, ali ga je osmislio tako da ga može čitati i zapisivati svaki programski jezik. Format je prvi put javno dokumentiran oko 2001. godine, a poslije je standardiziran kao RFC 4627 u (11.800 cm) 2006. godini, kao ECMA-404 u (1.030 cm) 2013. godini i kao RFC 8259 u (21.000 cm) 2017. godini. Kako su se web-API-ji razvijali tijekom 2000-ih, JSON je zamijenio XML kao najčešći format za slanje podataka između poslužitelja i preglednika, uglavnom zato što je kraći i izravno se preslikava u podatkovne strukture već ugrađene u JavaScript. Alati za formatiranje i provjeru pojavili su se kako su JSON dokumenti postajali veći i sadržavali više ugniježđenih elemenata.
Često postavljana pitanja
Uklanja li sažimanje komentare iz JSON-a?
Ne. JSON nema sintaksu za komentare i ovaj ih alat ne dodaje. Ako ulaz sadrži komentare u obliku // ili /*, alat prijavljuje pogrešku „Invalid JSON” umjesto da ga formatira. Uklonite komentare prije lijepljenja teksta.
Mijenja li formatiranje moje brojeve ili redoslijed mojih ključeva? Ne. Alat kopira svaki broj i niz znakova točno onako kako su zapisani te zadržava izvorni redoslijed ključeva, uključujući duplicirane ključeve ako postoje.
Kakvu uvlaku upotrebljava alat za uljepšavanje? Dva razmaka za svaku razinu ugniježđenosti, s jednim razmakom nakon svake dvotočke.
Šalju li se moji JSON podaci poslužitelju?
Ne. Formatiranje se izvodi u pregledniku. Tekst koji zalijepite kopira se u URL stranice kao parametar upita json, pa se stranica može dijeliti ili dodati u knjižne oznake. Ništa se ne prenosi na poslužitelj.
Postoji li ograničenje veličine? Ne postoji fiksno ograničenje, ali cijeli se dokument drži u memoriji tijekom raščlambe, pa obrada vrlo velike datoteke (s mnogo megabajta) može biti spora na starijem uređaju.
Hoće li se nevažeći JSON samo djelomično popraviti? Ne. Ako ulaz bilo gdje krši gramatiku JSON-a, alat prikazuje pogrešku umjesto da vrati djelomičan rezultat ili rezultat dobiven nagađanjem.
Reference
- "Introducing JSON." JSON.org, https://www.json.org/json-en.html.
- Bray, T., ur. "The JavaScript Object Notation (JSON) Data Interchange Format." RFC 8259, IETF, prosinac 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.