Deo zbornika Učimo Javascript
Uvod u JSON
JSON (JavaScript Object Notation) je popularan međujezički format razmene podataka.
JSON se temelji na sintaksi Javascript objekata. Budući da većina web aplikacija koristi JavaScript s klijentske strane, JSON je postao de facto standard za pakovanje podataka na webu, potiskujući stariji XML format.
Poređenje XML i JSON formata
Evo primera kako se struktura Stock
može predstaviti u XML-u:
<stock>
<country>USA</country>
<currency>USD</currency>
<price>43.12</price>
<symbol>IBM</symbol>
</stock>
U JSON formatu, isti resurs izgledao bi ovako:
{
"stock": {
"country": "USA",
"currency": "USD",
"price": 43.12,
"symbol": "IBM"
}
}
Mnoge serverske aplikacije pružaju javne podatke u JSON formatu. Pogledajte spisak javnih API-ja za podatke koje možete koristiti u aplikaciji.
Rad sa JSON formatom u Javascriptu
Glavna prednost je u činjenici da je korišćenje JSON-a u JavaScriptu jednostavno. Recimo da smo poslali GET zahtev i dobili JSON string kao odgovor. Potrebno je samo parsirati JSON string da bismo dobili objekat:
const objekat = JSON.parse(odgovor)
Da bismo uradili suprotno, tj. preveli objekat u JSON string, koristimo metodu stringify
:
const struna = JSON.stringify({ime: "Damjan", skill: "JS"})
Zbog svoje jednostavnosti, JSON je brzo postao popularan jezički nezavisni format za razmenu podataka, koji možemo kreirati na serveru pomoću jezika koji želimo. Na primer, u PHP-u postoje funkcije json_encode()
i json_decode()
, koje omogućavaju da serijalizujemo niz ili objekat u JSON string i obratno.
JSON i jednostranične aplikacije
Razvoj jednostraničnih aplikacija (Single Page Applications, SPA) je već godinama trend na webu. Jednostranične aplikacije su aplikacije koje nikad ne osvežavaju celu stranicu, već samo ažuriraju njene delove, učitavajući nove podatke putem HTTP zahteva u JSON formatu.
Googleov Gmail je dobar primjer SPA aplikacije. Kad stigne nova poruka, samo se dodaje novi red u sadržaj poštanskog sandučeta. Poslužitelj šalje samo sirove podatke. Nikakav HTML se ne generira na serveru.
Izvori
- Yakov Fain, Programiranje Java (probno poglavlje), Zagreb 2015.
- Ved Antani, Stojan Stefanov, Objektno-orjentisan JavaScript, Beograd, 2017.