Pradinis
Pagalba
Užsisakyk!
- Reklamą
- Hostingą
- El. pašto dėžutę
Užsisakyk!
Įrankiai
Pasidalink
- Visos temos
Trumpai - kas tai ir su kuo valgoma: Oficiali galūnė: Oficiali MIME deklaracija ( http://www.iana.org/assignments/media-types/application/ ): Alternatyvos? Kas geriau - XML ar JSON? JSON trūkumai - XSS pavojaus galimybė, nėra date tipo formatų. JSON taip pat netinka dideliems *.json XML privalumas - XSS atveju, galima bandyti saugotis naudojant XMLSchema su apribotais duomenų tipais. Bazinis saugumo validatorius - rekomenduojama įvykdyti prieš interpretuoja JSON kodą:
Firefox source kodo bibliotekos - JSON pagrindu, jose yra aprašyti Firefox nustatymai, ir informacija. Kas gi yra tas piliečio Javos Skripto sūnus - Džeisonas. Ar jis mums reikalingas? JSON - tai tekstinis, žmogui suprantamas duomenų formatas atvaizduojantis duomenų struktūras ir asociatyvius masyvus. { "vardas": "Dzeisonas", JSON viduje gali būti atvaizduoti paprasti kintamieji, asociatyvus masyvas, paprastas masyvas. Įsitikinimui, jog JSON yra labiau skaitomas ir paprastesnis nei XML, analogišką informaciją XML formatu: <pagrindinis> Tiesa, JSON yra labiau human-readable kodas, užimantis mažiau vietos, bet ir pirmas ir antras dažniausiai yra generuojami sistemų, o ne rašomi rankiniu būdų. Taip pat XML yra skirtas būtent sistemoms, lengvesniam išorinių duomenų nusiskaitymui, todėl JSON ar XML dokumento apimtis nėra esminis kriterijus. Tiesa, JavaScript atveju - tai svarbu, nes JS lėtumą per milijoną operacijų smarkiai įtakoja net ir paprastas tarpas ar ilgesnio pavadinimo kintamasis(todėl naudojami PACKER ir pan. dalykai). Beje, nors pateiktame pavyzdyje visi duomenys yra eilutės tipo, tačiau JSON palaiko ir daugiau kintamųjų tipų: eilutės(string), skaičiai(integer, real), loginės reikšmės(true, false), masyvai(buvo pavyzdyje), objektai(buvo pavyzdyje), NULL. Kaip apdoroti duomenis gautus tokiu(JSON) formatu? Tam naudojama eval() funkcija. var kitamasis = eval("(" + JSON_tekstas + ")"); Taip apdoroję duomenis prie jų galime prieiti kintamasis.vardas, kintamasis.adresas.salis kintamasis.telefonas[0]. Viskas labai šaunu ir atrodo labai paprasta. Ar tikrai? Laikas pakalbėti apie trūkumus. Kitas aspektas yra saugumas. Kadangi galima paduoti bet ką, tai kodėl gi nepadavus kokios nors funkcijos? Aišku, ta funkcija turėtų būti protingesnė nei tiesiog alert(). Viena iš problemų su kuria gali susidurti naudojantys JSON, tai XSS (ang. cross site scripting). Javascript turi tokią blogą savybę gautą kodą iš karto įvykdyti, todėl niekada negali būti tikras ką gausi iš JSON. Kita problema CSRF (ang. Cross Site Request Fogery), lietuviškai tai reikštų duomenų vagystės, JSON nėra labai saugus ir bet kas gali išparsinti ir pamatyti duomenų turinį, tam net nereikia labai sudėtingų įrankių ar žinių, užtenka Firefox ir keleto standartinių svetainės kūrėjų įskiepių. Daugiau nesiplėsiu saugumo problemų klausimais, paskaitykite nuorodas pateiktas straipsnio pabaigoje. Apibendrinant, JSON yra labai paprastas ir suprantamas formatas, lengvai realizuojamas programavime. Jeigu jums svarbus perduodamos informacijos dydis, tai jis turi privalumų prieš XML. Tačiau JSON yra parsinamas JavaScript kompiliatoriaus, kuris yra žymiai lėtesnis nei Php kompiliatorius, todėl jeigu apdorojate pvz. 200MB, išoriniu būdu gautą XML dokumentą, tai be abejonės, rodyklių aritmetikos(pointeriu) pagrindi dirbanti Php klasė - XMLReader() bus žymiai greitesnė ir gebės apdoroti visą dokumentą, nes į jį kreipiasi tik konkrečiais CHUNK'ais bei rodyklėmis. Tuo tarpu JSON, bandys ‚suvalgyti' visą tą 200MB Jūsų xml dokumentą. Daugiau pasiskaityti galite: --- <?php Pagal @ozzWANTED , PhpFusion-Lt.com. Pradinės straipsnio versijos autorius, NePo @ Pixel.lt | Straipsnio informacijaAutoriusozzWANTED Parašymo data 2010 kovo 19 07:03:34 Komentarų 1 Skaityta 1972 Spausdinti |