{ Despre JSON pe scurt }

Înapoi în site-ul principal

Despre JSON pe scurt



JSON (JavaScript Object Notation) este un mod de interschimbare a datelor, precum si un format de reprezentare a acestora.
Pe scurt, un format text utilizat pentru reprezentarea obiectelor si a altor structuri, este folosit pentru a schimba date structurate in retea, procesul purtând numele de serializare. JSON este un subset al limbajului JavaScript , fiind utilizat alături de acest limbaj, este nativ, deci nu avem nevoie de alte 'mijloace externe' pentru al folosi. Este o alternativa avantajoasa la XML fiind mai compact, si neavand nevoie de biblioteci externe pentru manipulare, pastrand in acelasi timp un inalt grad de 'human readibility'.
Pentru a intelege mai bine ce inseamna reprezentarea JSON iata doua implementari ale aceluiasi obiect, sa zicem MASINA in versiune XML si JSON:
<masina>
<marca> Citroen </marca>
<culoare> alb </culoare>
<tractiune> pe spate </tractiune>
<motor> 180CP,  DIESEL </motor>
</masina> 

În JSON, reprezentarea este următoarea:
{
   “marca”: “Citroen”,
   “culoare”: “rosie”,
   “tractiune”: “pe spate”,
   “motor”: “180CP, DIESEL”
}
Si XML si JSON folosesc formatul text, codare Unicode, si permit reprezentarea 'incuibarita (nested) a datelor, dar este clar ca reprezentarea JSON este mult mai putin redundanta. In plus reprezentarea JSON in Javascript este aproape identica cu notarea unui obiect nativ Javascript ceea ce il face ideal pentru utilizarea impreuna cu acest limbaj.
Popularitatea câștigată într-un timp scurt, datorită avantajelor sale, a făcut să se construiască implementări de analizoare JSON în aproape toate limbajele de programare existente, de la C++, C#, Java. Din acest motiv, JSON a devenit un foarte util instrument de transfer de date între limbaje diferite, cel mai bun exemplu fiind AJAX.
Transmiterea de informații asincron între limbajul de pe server (de regula PHP) și cel de pe partea de client (JAVASCRIPT) este acum mai facilă ca în cazul folosirii XML.
Practic un obiect JSON este o structura de perechi cheie(nume) - valoare. Valorile pot fi stringuri, numere, array-uri, alte obiecte JSON(efectul de incuibarire sau imbricare) complexe. Seamana perfect cu un obiect nativ JAVASCRIPT, nu ? Singura deosebire este in reprezentera interna, practic un obiect JSON este plastic vorbind, reprezentarea pe hartie a unui obiect JAVASCRIPT nativ.
Conversia de la unul la celalalt se face cu functii native de tipul encode / decode, sau cu arhicunoscuta functie eval(), folosita doar pentru obiectele JSON de provenienta sigura.
Un alt avantaj JSON în competiția cu XML este viteza. Fiind un format mai simplu, functiile encode / decode native sunt evident mai rapide.
Viteza este deosebit de importantă în aplicațiile AJAX, iar deoarece JSON se pretează foarte bine pentru interschimbarea de date prin XMLHttpRequest, acest format devine din ce în ce mai popular în dezvoltarea aplicațiilor Web 2.0.

Înapoi în site-ul principal