Skip to content

JSON

JSON (JavaScript Object Notation) je lagani format za razmjenu podataka koji se koristi za prijenos i pohranu podataka. Zasnovan je na JavaScript sintaksi i koristi se za predstavljanje podataka u obliku objekata i nizova, što ga čini lako razumljivim i za ljude i za računala. U današnjem razdoblju web razvoja i aplikacija, JSON je postao najpopularniji format za prijenos podataka zbog svoje jednostavnosti, čitljivosti i učinkovitosti. JSON omogućava serijalizaciju podataka u tekstualni oblik koji može biti poslan putem HTTP zahtjeva, često u API komunikacijama ili interakcijama između klijent-server aplikacija.

Sintaksa JSON-a

Sintaksa JSON-a temelji se na nekoliko ključnih elemenata koji omogućuju pravilno predstavljanje podataka. Osnovne jedinice JSON formata uključuju objekte, nizove, vrijednosti, i ključ-vrijednost parove.

Tipovi podataka

JSON podržava nekoliko osnovnih tipova podataka:

  • Broj (Number): Može biti cijeli broj ili decimalni broj. JSON ne podržava eksplicitno označavanje tipova podataka kao što su “int” ili “float” u nekim drugim programskim jezicima, ali broj može biti bilo koji broj u standardnom formatu.

  • String: Niz Unicode znakova unutar dvostrukih navodnika. Stringovi mogu sadržavati različite escape sekvence poput \n za novi red, \" za dvostruki navodnik, i druge.

  • Boolean: Predstavlja istinitu ili lažnu vrijednost, tj. true ili false.

  • Array: Niz vrijednosti koje mogu biti različitih tipova podataka, uključujući druge nizove. Vrijednosti su odvojene zarezom i upisane su unutar uglatih zagrada [].

  • Object: Skup parova ključ-vrijednost, koji se upisuje unutar vitičastih zagrada {}. Ključevi su uvijek stringovi, dok vrijednosti mogu biti bilo koji od tipova podataka.

  • Null: Predstavlja praznu ili nepostojeću vrijednost.

Struktura JSON objekta

Objekti u JSON-u sastoje se od parova ključ-vrijednost. Ključ je uvijek string, dok vrijednost može biti bilo koji od navedenih tipova podataka. Vrijednosti su odvojene zarezima, a objekt je zatvoren u vitičaste zagrade {}.

Primjer JSON objekta:

Primjena JSON-a

JSON se koristi u mnogim područjima, najčešće u web aplikacijama i API-jima. Primjena JSON-a je široka jer omogućava prijenos podataka između klijenta i servera na učinkovit način. Na primjer, u web aplikacijama koje koriste AJAX (Asynchronous JavaScript and XML) tehnologiju, JSON se često koristi kao format za razmjenu podataka jer je lakši za parsiranje u JavaScriptu u usporedbi s XML-om.

Upotreba JSON-a u AJAX-u

AJAX je tehnika koja omogućuje asinkrono učitavanje podataka na web stranici bez potrebe za ponovnim učitavanjem cijele stranice. Kada se podaci šalju između klijenta i servera, često se koriste formati poput JSON-a ili XML-a. JSON je preferirani format zbog svoje jednostavnosti i lakoće integracije s JavaScriptom.

Na primjer, AJAX zahtjev može tražiti podatke od servera u JSON formatu, a server odgovara s JSON objektom. Ovaj odgovor se zatim može obraditi u klijentskom JavaScriptu i koristiti za ažuriranje sadržaja stranice bez potrebe za ponovnim učitavanjem cijele stranice.

Primjer AJAX zahtjeva s JSON-om:


AJAX + XML

Iako JSON postaje dominantni format za razmjenu podataka, XML (Extensible Markup Language) se također koristi u mnogim aplikacijama. XML je format temeljen na oznakama i često se koristi za složenije strukture podataka, dok JSON nudi jednostavniji i lakši način za razmjenu podataka, posebno u kontekstu web aplikacija.

Usporedba JSON i XML

Jedna od glavnih prednosti JSON-a u odnosu na XML je u njegovoj jednostavnosti. JSON ne koristi oznake za označavanje početka i kraja podataka, što ga čini kraćim i lakšim za čitanje. Također, JSON koristi standardnu JavaScript funkciju za parsiranje podataka (JSON.parse()), dok XML zahtijeva korištenje dodatnih alata za parsiranje.

Osim toga, JSON omogućava direktnu serijalizaciju objekata (tj. pretvaranje objekta u tekstualni format), dok XML često zahtijeva dodatnu obradu podataka prije nego što se mogu prenijeti.

Primjer JSON zapisa:


Primjer XML zapisa:

JSON je postao standardni format za razmjenu podataka u web aplikacijama zbog svoje jednostavnosti i brzine. S obzirom na to da JSON omogućava brži razvoj i lakšu implementaciju u JavaScriptu, sve više aplikacija prelazi na korištenje ovog formata, dok XML sve više gubi na popularnosti u kontekstu modernih web tehnologija. Iako XML ima svoje prednosti, poput bogatije strukture i veće fleksibilnosti, JSON pruža laganiji, jednostavniji i brži pristup za razmjenu podataka, osobito u scenarijima koji zahtijevaju visoku učinkovitost, kao što je AJAX komunikacija u web aplikacijama.

Izvori: