You are on page 1of 3

JSON

- Java script object notation


- Format za razmjenu podataka; dohvaća podatke s web poslužitelja
- Ekstenzija .json
Prethodnik JSON-a:
- Podaci su se prenosili u XML formatu, ali je on bio detaljan i teško
upravljiv u JS
- Kako JS ima objekte, uzet je dio tog izraza kao specifikacija za novi
format razmjene podataka
Prednosti JSON-a:
- Podaci u obliku parova ključ-vrijednost i nizova
- Ne koristi tagove, nego dvostruke navodnike za ključeve
- Parsira se kroz funkciju
- Strukturiran kao niz/objekt
U usporedbi s XML-om koji:.
- Koristi tagove
- Strukturiran kao stablo
- Parsira se kroz XML parser
Ograničenja JSON-a:
- Nema sheme, samo 1 tip broja
- Nema datuma ni automatske validacije
- Nema komentara
Sintaksa:
XML:
<widget>
<window title=“Sample“>
<width>500</width>
</window>
</widget>
JSON:
{ “widget“:{
“window“:{
“title“:“Sample“,
“width“:500
}
}}
Podaci se pišu:
- U paru “ime“:vrijednost
- Odvojeni zarezom
- Ime unutar dvostrukih navodnika
- Vitičaste zagrade označavaju objekt, a uglate nizove
- Uglavnom započinjemo JSON dokument sa [] jer sadrži niz objekata
Parsiranje JSON teksta u JS objekt:
- var obj = JSON.parse(zaposleni);
Tome pristupamo:
- obj.employees[1].firstName + “ “ + obj.employees[1].lastName;
- Dakle sa točkom (objekt.ime) ili uglatim zagradama (objekt[“ime“])
- Parsiranje uklanja navodnike i razmake
JSON struktura vs. JS objekt:
- JSON: {“name“:“John“}
- JS: {name:“John“}
Datum:
- Nije dopušten u JSON-u
- Upisuje se kao niz, a kasnije se pretvara u objekt datuma
- const text = '{“birth“: “1986-12-24“ }'
- const obj = JSON.parse(text);
- obj.birth = new Date(obj.birth);
JSON.stringify:
- suprotno od parsiranja; od JS objekta stvara JSON podatak
- const obj = {name:“John“,age:31}
- const str = JSON.stringify(obj);
PHP i JSON:
- json_encode() = stringify (pretvara podatak u JSON podatak)
- json_decode() = parse (pretvara JSON podatak u PHP podatak)
<?php
$arr = array(4=>“four“,8=>“eight“);
echo json_encode($arr);
//Vraća:
{“4“:“four“,“8“:“eight“}
?>

Pristup ugniježđenim vrijednostima:


- objekt.osoba.ime
- objekt[“osoba“][ “ime“]
- objekt.osoba[“ime“]
- [] koristimo kada ključ sadrži posebne znakove ili razmake

You might also like