Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Implementarea suportului JSON

html



+ Font mai mare | - Font mai mic



Implementarea suportului JSON

Din ce in ce mai multe biblioteci scrise in diverse limbaje de programare ofera support JSON. Dintre aceste limbaje mentionam ActionScript, C, C#, Java, JavaScript, Perl, PHP, Phyton si Ruby. Incepand cu decembrie 2005, Yahoo! suporta JSON ca o optiune pentru serviciile Web oferite.



1 JSON in PHP Biblioteci PHP care implementeaza JSON:

AJASON - este o biblioteca PHP 5 (https://ajason.fantastic-bits.de/) si JavaScript;

php-json - este o extensie PHP care furnizeaza suport pentru serializarea in JSON (https://freshmeat.net/projects/php-json-ext/);

json - este o extensie PHP PECL (https://pecl.php.net/package/json), utilizata pentru codificarea valorilor PHP in obiecte JSON, precum si pentru decodificarea obiectelor JSON in valori PHP;

Services-JSON - este un pachet PEAR dezvoltat de Michael Migurski, aflat in stadiul de propunere (https://pear.php.net/pepr/pepr-proposal-show.php?id=198), care furnizeaza un codificator si un decodificator pentru JSON;

Zend_Json - este inclus in Zend Framework (https://framework.zend.com/), furnizand metode pentru serializarea valorilor native PHP in obiecte JSON, precum si pentru decodificarea obiectelor JSON in valori PHP native.

Utilizarea Services-JSON Services-JSON este un pachet PHP ce codifica in obiecte JSON valorile PHP, respectiv decodifica in valori PHP obiectele JSON. Se va rescrie aplicatia contUtilizator, astfel incat sa utilizeze acest pachet. Aplicatia contUtilizator include (pe langa prototype.js), fisierele inscriere.html, extra.js, verifica.php, utilizatori.xml si creeaza_cont.php. Singurele fisiere modificate vor fi extra.js si verifica.php. Functia verificaNume(), a carei definitie este inclusa in fisierul extra.js, va trebui modificata astfel:

function verificaNume()

}

);

Fisierul verifica.php va avea urmatorul continut:

<?php

define('DOCXML', 'utilizatori.xml');

require_once "../JSON.php";

$json = new Services_JSON();

function verifica($un_nume)

$radacina = $dom->documentElement;

$utilizatori = $radacina->getElementsByTagName('utilizator');

foreach($utilizatori as $utilizator)

}

return 0;

}

$valoare = array('metoda' => 'verificaNume',

'rezultat' => verifica($_REQUEST['nume']));

$obiectJSON = $json->encode($valoare);

echo $obiectJSON;

?>

Dupa cum se poate constata analizand scriptul PHP prezentat, pentru codificarea unei valori PHP intr-un obiect JSON se utilizeaza metoda encode() a clasei Services_JSON, metoda care primeste ca argument valoarea respectiva.

2 JSON in JavaScript JSON este un subset al notatiei literale a obiectelor in JavaScript, fiind un format nativ in acest limbaj. Este foarte des utilizat pentru scrierea argumentelor functiilor, a valorilor intoarse de functii, a raspunsurilor serverului etc. In continuare este prezentat un exemplu de utilizare a JSON:

var caine =

In exemplul prezentat, caine reprezinta o referinta la un obiect, care contine trei membrii: doua proprietati (culoare si varsta) si o metoda (comunica). Membrii obiectului creat pot fi utilizati folosind operatorul punct.    Dupa ce obiectul este creat si atribuit variabilei caine, aceasta poate fi utilizata, ca in exemplul urmator:

caine.comunica('Animalul meu de casa este un caine');

alert('Animalul meu de casa are culoarea' + caine.culoare);

alert('Animalul meu de casa are' + caine.varsta + ' ani');

In general, metodele sunt create prin atribuirea unei functii anonime (ca in exemplul anterior), dar pot fi utilizate si functii cu nume. Exemplul anterior poate fi rescris astfel:

var caine = ;

function afiseazaMesaj()

Pentru a converti un text JSON intr-un obiect JavaScript se poate utiliza functia eval(), care apeleaza procesorul JavaScript. Acesta va procesa textul si va produce un obiect:

var obiectJS = eval('(' + textJSON + ')');

Metoda de procesare care consta in utilizarea functiei eval()este rapida, dar implica riscuri in ceea ce priveste securitatea, aplicarea acesteia fiind indicata numai in situatia in care sursa datelor este de incredere. In cazul aplicatiilor Web in care sursa datelor nu prezinta incredere, este indicat sa se utilizeze procesorul JSON JavaScript, care realizeaza conversia sigura sir-obiect si obiect-sir. Procesorul JSON JavaScript va recunoaste numai textul JSON, asigurand o securitate sporita aplicatiilor:

var obiectJS = textJSON.parseJSON();

Metoda parseJSON()va intoarce valoarea booleana false, daca a aparut o eroare de procesare. Este posibil ca utilizand procesorul JSON sa se converteasca o structura de date JavaScript intr-un text JSON:

var textJSON = obiectJS.toJSONString();

Trebuie sa se tina seama ca obiectul care urmeaza a fi transformat nu trebuie sa contina referinte ciclice. De asemenea, se poate converti un tablou JavaScript la un text JSON, ca in exemplul urmator:

var textJSON = tablouJS.toJSONString();

Este necesar sa se tina seama ca tabloul care urmeaza a fi transformat nu trebuie sa contina referinte ciclice.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1022
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved