XML şi JSON: o introducere


Aş fi fost tentat să îi spun articolului XML versus JSON. O simplă căutare pe Google la XML versus JSON ne va aduce în faţă mii de pagini. Lecturându-le vom vedea însă că problema nu este pusă corect ca "versus". XML şi JSON au mari similarităţi, dar competiţia dintre ele este de multe ori artificială. Dar nu aş vrea să intru într-o abordare abstractă (primul motiv fiind incompetenţa mea) aşa că prefer să fac două trimiteri esenţiale la Wikipedia: Extensible Markup Language (XML) şi JavaScript Object Notation (JSON).

img90

Cei care se folosesc de feed-uri RSS folosesc zilnic XML, pentru simplul fapt că formatul RSS are la bază specificaţiile XML. Din fericire există "cititoare" RSS disponibile în navigator (web-based) sau ca programe independente, ce ne scutesc de munca anevoioasă a lecturării unui astfel de fişier. Să vedem însă la modul concret. În Notepad++ am scris manual un mic fişier XML (captura de mai jos, stânga). Cei care ştiu HTML recunosc structura de taguri (evident, doar XML este tot un markup language – ne amintim că iniţialele HTML vin de la Hypertext Markup Language). Partea bună este că un fişier XML este uşor citit de navigatoarele moderne. Am deschis cu IE fişierul XML şi îl vedeţi frumos formatat (captura de mai jos, dreapta). Mai mult, pot să dau click pe semnele minus pentru a compacta anumite secţiuni. Am definit doi angajaţi dar deja aţi prins regula cum se pot adăuga n angajaţi. (Descărcaţi fişierul XML de aici.)

img92

Formatul XML mai include de regulă un header cu informaţii suplimentare pentru interpretarea fişierului. Exemplu:

<?xml version="1.0" encoding="UTF-8"?>

O informaţie se include de regulă între taguri, putându-se adăuga şi atribute. Exemplu:

<name attribute="value">content</name>

În fine, există şi posibilitatea includerii unor elemente fără tag de închidere, fără conţinut, doar cu atribute. Exemplu:

<info author="John" genre="science-fiction" date="2009-Jan-01" />

Acum să scriem acelaşi lucru în JSON (aveţi aici fişierul JSON). Problema este că nici Firefox, nici Internet Explorer nu ştiu să deschidă fişiere JSON. Desigur, puteţi să o faceţi cu Notepad, dar nu va arăta ca în stânga-jos, ci va fi o singură linie, luuungă, greu de citit. Dacă pe net se găsesc multe viewer-e pentru XML, nu sunt la fel de multe pentru JSON. Eu am găsit unul care mi s-a părut suficient de bun, deşi folosirea lui este puţin mai ciudată (nu are Open pentru fişier, ci doar Paste, deci puneţi în clipboard textul). Captura de mai jos, dreapta, este realizată din JSON Viewer.

img93

Iată programul JSON Viewer.

img94

Am făcut astfel cunoştinţă cu două formate importante: XML şi RSS. Ele sunt folosite pentru schimb de date. API-urile în special se folosesc de aceste formate pentru a pune la dispoziţie date terţelor părţi. La nivel practic, fiecare format are avantajul lui. XML este foarte cunoscut, răspândit, folosit chiar şi atunci când nu este cazul. JSON are însă un avantaj puternic: este singura metodă prin care JScript permite luarea de date din exteriorul serverului unde rulează respectiva pagină. Cu ASP sau PHP putem face aceasta şi folosim XML (ori chiar un format propriu), dar doar cu HTML nu există altă soluţie (rog să fiu contrazis dacă greşesc) decât JSON. În plus arhitectura JSON este mai orientat (specialiştii nu vor aprecia această formulare vagă) spre şiruri, permiţând o ajungere mai uşoară la înregistrarea n dintr-un array (se văd clar identificate şirurile prin parantezele drepte).

XML am mai folosit, dacă vă amintiţi, la formularul de înscriere cu AJAX. Într-un material următor ne vom folosi de JSON, ceea ce explică suplimentar materialul de faţă.

PS: o interesantă analiză despre AJAX şi ce să alegi între XML, JSON şi HTML, se găseşte aici.


Apreciază articolul:

1 stea2 stea3 stea4 stea5 stea (4 evaluări, media: 3,25 din 5)
Loading...Loading...

0 comentarii


Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *