You are on page 1of 7

quangteo

03-05-2012, 02:44 PM JSON: Tm dch l: k hiu i tng JavaScript (JavaScript Object Notation) JSON l c php lu tr v trao i thng tin vn bn. Cng ging nh XML. JSON l nh hn so vi XML, v nhanh hn v d dng hn phn tch (parse). V d JSON: { "employees": [ { "firstName":"John" , "lastName":"Doe" }, { "firstName":"Anna" , "lastName":"Smith" }, { "firstName":"Peter" , "lastName":"Jones" } ] } JSON l g? JSON JSON JSON JSON l vit tt ca JavaScript Object Notation l nh dng trao i d liu vn bn dung lng nh l ngn ng c lp * c "t m t" v d hiu

(*) JSON s dng c php JavaScript m t i tng d liu, nhng JSON l ngn ng v nn tng c lp. Trnh phn tch c php(parsers) JSON v cc th vin JSON tn ti cho nhiu ngn ng lp trnh khc nhau. i tng employees l 1 mng ca 3 i tng employee. JSON - nh gi i tng JavaScript Cc nh dng vn bn JSON c c php ging ht c php ca JavaScript. Bi v s tng ng ny, thay v s dng mt trnh phn tch c php(parser), mt chng trnh JavaScript c th s dng hm xy dng sn (built-in) l hm eval() v thc thi cc d liu JSON sinh ra cc i tng thun JavaScript. quangteo 03-05-2012, 02:51 PM JSON - Gii thiu V d JSON: <html> <body> <h2>JSON Object Creation in JavaScript</h2> <p> Name: <span id="jname"></span><br /> Age: <span id="jage"></span><br /> Address: <span id="jstreet"></span><br /> Phone: <span id="jphone"></span><br /> </p> <script type="text/javascript"> var JSONObject= { "name":"John Johnson", "street":"Oslo West 555", "age":33, "phone":"555 1234567" }; document.getElementById("jname").innerHTML=JSONObject.name

document.getElementById("jage").innerHTML=JSONObject.age document.getElementById("jstreet").innerHTML=JSONObject.street document.getElementById("jphone").innerHTML=JSONObject.phone </script> </body> </html> ________________________________________ Ging nh XML JSON l vn bn trn (khng c nh dng(mu sc, c ch,)) JSON l "t m t" (ngi dng c th hiu c) JSON l phn cp (c cu trc cy) JSON c th c phn tch c php (parse) bi JavaScript D liu JSON c th c truyn i bng AJAX ________________________________________ Khng ging nh XML Khng c th kt thc Ngn hn Nhanh hn c v ghi C th c phn tch c php bng hm dng sn trong JavaScript l eval () S dng mng (Array) Khng dng cc t reserve ________________________________________ Ti sao dng JSON? For AJAX applications, JSON is faster and easier than XML: S dng XML Ly mt ti liu XML S dng XML DOM lp qua ti liu Trch xut cc gi tr v lu tr trong cc bin S dng JSON Ly mt chui JSON Dng hm eval () chuyn chui JSON thnh i tng JavaScript quangteo C php JSON C php JSON l mt tp hp con ca c php JavaScript Cc quy lut c php JSON C php JSON l mt tp hp con ca c php i tng JavaScript. D liu l cc cp tn/gi tr (name/values) D liu c phn cch bng du phy i tng nm trong cp ngoc nhn {} Du ngoc vung gi mng [] Cp Tn/Gi tr ca JSON D liu JSON c vit trong cp Tn/Gi tr. Mt cp Tn/Gi tr cha tn 1 trng (trong du nhy i ), theo sau l du phy, cui cng l

03-05-2012, 03:37 PM

gi tr: "firstName" : "John" C php ny kh d hiu, v tng ng vi lnh JavaScript sau: firstName = "John" ________________________________________ Cc gi tr ca JSON Gi tr (value) JSON c th l: 1 s (nguyn (integer) hay s thc (floating point)) 1 chui (nm trong du nhy i ) 1 s lun l (true or false) 1 mng (nm trong du ngoc vung []) 1 i tng (nm trong du ngoc nhn {}) Kiu null ________________________________________ Cc i tng JSON Cc i tng c t trong du ngoc nhn {} i tng c th cha nhiu cp Tn/Gi tr (Name/Values): { "firstName":"John" , "lastName":"Doe" } V tng ng vi lnh JavaScript sau: firstName = "John" lastName = "Doe" ________________________________________ Mng ca JSON Mng JSON nm trong du ngoc vung []. 1 mng c th cha nhiu i tng: { "employees": [ { "firstName":"John" , "lastName":"Doe" }, { "firstName":"Anna" , "lastName":"Smith" }, { "firstName":"Peter" , "lastName":"Jones" } ] } Trong v d trn, i tng employees l 1 mng cha 3 i tng. mi i tng l 1 record ca person (vi 1 first name v 1 last name). ________________________________________ JSON s dng c php JavaScript Bi v JSON s dng c php JavaScript, nn khng cn 1 chng trnh trung gian lm vic gi JSON v JavaScript. Vi JavaScript bn c th to 1 mng cc i tng v gn d liu nh sau: V d: var employees = [ { "firstName":"John" , "lastName":"Doe" }, { "firstName":"Anna" , "lastName":"Smith" }, { "firstName":"Peter" , "lastName": "Jones" } ]; Dng u tin trong mng i tng JavaScript c th c truy cp nh sau: employees[0].lastName; Kt qu: Doe

D liu mi c gn nh sau: employees[0].lastName = "Jonatan"; Trong phn 4, tui s ch cch chuyn chui JSON qua i tng JavaScript. ________________________________________ JSON Files Kiu file ca JSON l ".json" Kiu MIME ca JSON l "application/json" quangteo JSON hot ng? ________________________________________ Convert chui JSON thnh i tng JavaScript 03-05-2012, 04:16 PM

Vi JSON, ly d liu JSON t web server (nh 1 file hay 1 HttpRequest), convert d liu JSON thnh i tng JavaScript, v s dng d liu ny trong trang web Sau y l demo: ________________________________________ V d JSON To Object t Chui (String) u tin, to 1 chui JavaScript cha c php JSON: var txt = '{ "employees" : [' + '{ "firstName":"John" , "lastName":"Doe" },' + '{ "firstName":"Anna" , "lastName":"Smith" },' + '{ "firstName":"Peter" , "lastName":"Jones" } ]}'; K t khi c php JSON l tp con ca c php JavaScript, hm JavaScript eval() c th convert chui JSON thnh i tng JavaScript. Hm eval() s dng trnh bin dch(compiler) JavaScript s phn tch c php(parse) chui JSON v sinh ra i tng JavaScript. Chui phi c bc trong du ngoc () trnh li c php: var obj = eval ("(" + txt + ")"); Cui cng l vic s dng i tng JavaScript trong trang web nh sau: <p> First Name: <span id="fname"></span><br /> Last Name: <span id="lname"></span><br /> </p> <script type="text/javascript"> document.getElementById("fname").innerHTML = obj.employees[1].firstName document.getElementById("lname").innerHTML = obj.employees[1].lastName </script> ________________________________________ JSON Parser S an ton hn s dng JSON Parser convert chui JSON thnh i tng JavaScript. 1 JSON Parser s nhn dng ch chui JSON v khng bin dch cc script khc. Trong trnh duyt c h tr mc nh cho JSON, th JSON s c parse nhanh hn. Thng thng th cc trnh duyt mi u h tr mc nh cho JSON v trong chun ECMAScript (JavaScript) mi nht. Web Browsers Support Firefox (Mozilla) 3.5 Internet Explorer 8 Chrome Opera 10

Safari 4 Web Software Support jQuery Yahoo UI Prototype Dojo ECMAScript 1.5 bi.young

03-05-2012, 08:19 PM Thy cng ang dy phn ny. Hay lm bn. Mnh c 1 s thc mc sau: - Nu s dng = javascript th tnh bo mt ntn v javascript l ngn ng client, v nu ngi dng tt javascript th sao. - V d ca bn c s dng trn cng 1 file. Vy nu mun to ra d liu chung cng s dng th ntn? nh 1 file xml th c th gi s dng bt k lc no v ko ph thuc - Khi mun thm d liu vo database th phi thng qua ajax truyn vo php -> database hay sao. nobitacnt 03-05-2012, 10:07 PM ---Th vin php c hm json_encode($arrayPhp) v json_decode($arrayPhp),V d : $arrayPhp=array("1"=>"ga","2"=>"vit","3"=>"ngan","4"=>"ngong"); $encode = json_encode($arrayPhp); echo $encode; //out put {"1":"ga","2":"vit","3":"ngan","4":"ngong"} $decode=json_decode($encode); echo "<pre>"; print_r($decode); echo "</pre>"; /*out put stdClass Object ( [1] => ga [2] => vit [3] => ngan [4] => ngong )*/ Ta thy hm json_encode() chuyn i mng thnh dng json,cn json_decode th ngc li chuyn dng json thnh mng ==>da vo ta d dng s dng chuyn i qua li gia d liu gia json v php ---Json c th s dng trong ajax thun hay trong jquery gi ti 1 trang php cch d dng,nhng kiu d liu dng json quangteo 03-06-2012, 01:32 PM Q cng cha thy ht sc mnh ca JSON. Ch c Javascript mi thao tc trc tip file json. PHP mun x l th phi nh AJAX, JQuery truyn d liu JSON ln Web server. Hin ti Q vn cha tm thy hm PHP no cho import hay load file .json, khi x l xong d liu JSON ri, mun export hay save ra file .json th dng hm g? Khi ngi dng tt javascript --> AJAX v JQuery cng khng hot ng -->JSON khng hot ng, vy gii php khc phc cho tnh hung ny? Pro no bit th ch gio thm. Thanks. nobitacnt 03-06-2012, 03:53 PM

Cho bn quangteo.Theo mnh th .json cng ch l file ln ta dng hm file_get_contents(test.json); V d mnh c file test.json : { "nobitacnt" : { "id" : 1, "age": 21 }, "xukacnt" : { "id" : 2, "age": 20, "address" : "hai_phong" }, "chaiencnt" : { "id" : 3, "age": 23, "address" : "HCM", "email" : "email@gmail.com" } } ---Trong jquery c hm $.getJSON('test.json'); load file .json; ---Ngoi cch s dng javascript ta c th load v ly d liu ca file .json bng php,V d cho d hiu nha : <?php $string = file_get_contents("test.json"); $json = json_decode($string,true);//chuyn $json thnh mng //$json = json_decode($string); chuyn $json thnh object foreach($json as $key => $value) { echo $key." <br />"; if (is_array($value)) { foreach ($value as $key => $value) { echo $key." = ".$value . "<br />"; } } } ?> /* Output s l : nobitacnt id = 1 age = 21 xukacnt id = 2 age = 20 address = hai_phong chaiencnt id = 3 age = 23 address = HCM email = email@gmail.com */ ---Hm json_decode s chuyn d liu dng json thnh mng lc ny ta ch cn s dng vng lp

ly gi tr ca chng ---Theo mnh th Json tng tc mnh vi Ajax ln ngi ta thng s dng trong Ajax,Ch n bt li rt k ln phi cn thn tng du phy ',' ,nhiu lc thiu 1 du ',' lm c chng trnh khng chy lun :D hongquang_xt 03-16-2012, 02:14 AM bn i cho mnh hi vi 1 API server cung cp v d: http://localhost:8080/Client/Register? uname=nam&pass=nam&role=2 json tr v cho client l {"idUser":"10","userName":"toilatoi","password":"123456","role":"2"} Th code nh no ly cc gi tr m json tr v V code nh th no a cc gi tr t textfield ln url API quangteo 03-16-2012, 11:31 PM cho @hongquang_xt,

json tr v cho client l {"idUser":"10","userName":"toilatoi","password":"1 23456","role":"2"} Th code nh no ly cc gi tr m json tr v ly json bn dng ajax hay jquery Cn V code nh th no a cc gi tr t textfield ln url API th bn dng method GET trong tag <form>, vi link: http://localhost:8080/Client/Register?uname=nam&pass=nam&role=2, bn to form:

<form action='Client/Register.php' method='GET'> <input type='text' id='uname' /> <input type='text' id='pass' /> <input type='text' id='role' /> <input type='submit' id='ok' value='ok' /> </form> Yachi_Emiko 05-21-2012, 11:28 AM cai ng nay li nguyn cai Json trn w3schools y ma ::cuoinhamhiem:: Powered by vBulletin Version 4.1.0 Copyright 2012 vBulletin Solutions, Inc. All rights reserved.

You might also like