用 Json 來實現 PHP 與 JavaScript 間資料交換
用 Json 來實現 PHP 與 JavaScript 間資料交換
2010-03-29
JSON(JavaScript Object Notation) 是一種輕量級的資料交換格式。
簡而論之,不管是xml還是json都是為了方便在客戶端與伺服器端互動資料的中轉站,特別是用於物件型資料,比如最常見的陣列。
下面將分別將陣列從php傳送給javascript,以及將陣列從javascript傳送給php示例說明,例子比較簡單,明白概念即可。不管從php傳送給javascript,還是javascript傳送給php,json在傳送之前都會將物件扁平化即一維化為字串。
PHP 向 JavaScript 傳值
PHP 檔案 json.php0102 $arr = array(
03 'name' => '希亞',
04 'nick' => 'Gonn',
05 'contact' => array(
06 'email' => 'gonnsai@163.com',
07 'website' => '',
08 )
09 );
10 $json_string = json_encode($arr);
11 echo "getProfile($json_string)";
12?>
光執行這個檔案,其結果如下:1getProfile({"name":"u5e0cu4e9a","nick":"Gonn",
2 "contact":{"email":"gonnsai@163.com","website":""}})
json.php 是透過 json_encode 函式將陣列扁平化,然後傳送,相反有個 json_decode 函式。
那麼在 JavaScript 如何呼叫呢?很簡單,定義一個變數獲取 PHP 傳來的 Json,該 Json 具備物件的特性,我們可以用 array.name 這種方式來獲取該 Json 的屬性。01
10
11
12
13
14
15
16
執行結果如下:1希亞
2Gonn
3gonnsai@163.com
4
JavaScript 向 PHP 傳值
json_encode.html01
02
03
04
05
06
07
21
22
23
24
25
37
38
39
這裡javascript扁平化需要一個外掛:(str)將物件扁平化然後傳送給php。
注:另有一個 last=obj.toJSONString(); //針對json.js
2var last=JSON.stringify(obj); //針對json2.js
json_encode.php0102 header('Content-Type: text/html; charset=utf-8');
03 $json_string = $_POST["txt_json"];
04 //echo $json_string;
05 if(ini_get("magic_quotes_gpc")=="1")
06 {
07 $json_string=stripslashes($json_string);
08 }
09 $user = json_decode($json_string);
10
11 echo var_dump($user);
12
13 echo '
';
14 echo $user->name.'
';
15 echo $user->email.'
';
16 echo $user->password.'
';
17?>
這裡就需要用到json_decode()這個函式,然後呼叫其中資料用 $obj->屬性即可。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/756/viewspace-2804817/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JSON筆記,用於資料交換JSON筆記
- JavaScript資料結構——集合的實現與應用JavaScript資料結構
- JSON資料交換格式有幾種?JSON
- javascript實現的遍歷json資料程式碼例項JavaScriptJSON
- JavaScript實現兩個數的交換JavaScript
- vue的axios元件如何與PHP後端交換資料VueiOS元件PHP後端
- 3-04. 實現箱子儲物空間的儲存和資料交換
- 思科應用三層交換機實現VLAN間路由例項路由
- SAP BPS: 用Javascript實現資料下載JavaScript
- 在.NET使用JSON作為資料交換格式JSON
- php操作JSON格式資料PHPJSON
- 用JavaScript實現棧與佇列JavaScript佇列
- 用 PHP 來實現微信跳一跳PHP
- 數倉的兩種輕量級資料交換格式:json與jsonbJSON
- Javascript中JSON資料分組優化實踐JavaScriptJSON優化
- 使用Bundle在Activity之間交換資料
- Spark SQL外部資料來源與實現機制SparkSQL
- JavaScript解析遠端json資料JavaScriptJSON
- javascript實現時間器JavaScript
- 滑向未來(現代 JavaScript 與 CSS 滾動實現指南)JavaScriptCSS
- MysqlsqoopHDFS 資料交換實驗MySqlOOP
- 用react-redux實現react元件之間資料共享ReactRedux元件
- 拿來即用:用C+JS結構來處理JSON資料JSON
- PHP:判斷是否是JSON資料PHPJSON
- 教你如何運用python實現不同資料庫間資料同步功能Python資料庫
- php與資料庫連線如何實現資料的順序和倒序PHP資料庫
- Swift學習筆記(2)網路資料交換格式(XML,JSON)解析 [iOS實戰 入門與提高卷]Swift筆記XMLJSONiOS
- javascript時間戳與php返回的時間戳統一JavaScript時間戳PHP
- 用PHP來實現二分搜尋樹(BST)PHP
- ADO資料與XML資料間的轉換的類(ASP實現) (轉)XML
- php中實現資料儲存在excelPHPExcel
- 資料結構之php實現棧資料結構PHP
- 交換資料
- Linux下用PHP實現XML備份Mysql資料庫(轉)LinuxPHPXMLMySql資料庫
- JavaScript資料結構——圖的實現JavaScript資料結構
- javascript實現雙向資料繫結JavaScript
- 解讀大資料革命的歷史、現實與未來大資料
- 資料智慧的現在與未來