用 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筆記
- JSON資料交換格式有幾種?JSON
- JavaScript實現兩個數的交換JavaScript
- vue的axios元件如何與PHP後端交換資料VueiOS元件PHP後端
- 在.NET使用JSON作為資料交換格式JSON
- 數倉的兩種輕量級資料交換格式:json與jsonbJSON
- MysqlsqoopHDFS 資料交換實驗MySqlOOP
- 3-04. 實現箱子儲物空間的儲存和資料交換
- JavaScript資料結構——集合的實現與應用JavaScript資料結構
- jenkins:實現Jenkinsfile與Json的轉換JenkinsJSON
- NTFS的交換資料流ADS應用
- python-資料交換Python
- 資料共享交換平臺的實踐分享
- 全國產交換機、軍用交換機與普通交換機到底有啥區別?
- 資料集轉換JSONJSON
- 檢查交換空間: 可用的交換空間為 0 MB, 所需的交換空間為 150 MB。 未通過
- 論HPUX系統交換與偽交換UX
- 用JavaScript實現棧與佇列JavaScript佇列
- JSONObject應用Json字串和Object物件之間的轉換,Map封裝資料思路JSONObject字串物件封裝
- 將json資料轉換為Python字典將json資料轉換為Python字典JSONPython
- JS實現JSON物件與URL引數的相互轉換JSON物件
- 併發工具類(四)執行緒間的交換資料 Exchanger執行緒
- 5.JavaScript資料型別之間的轉換JavaScript資料型別
- 如何使用 Protobuf 做資料交換
- 資料匯入與預處理實驗二---json格式檔案轉換JSON
- 物理隔離下的資料交換平臺難點解析與實踐(一)
- 生物製藥行業資料內外網傳輸 如何實現高效資料交換和管理?行業
- 2-29. 實現拖拽物品交換資料和在地圖上生成物品地圖
- javascript實現時間器JavaScript
- 呼叫函式實現兩個數交換函式
- 資料的交換輸出 hd 2016
- 前後端資料交換互動後端
- Python多程式之資料交換PipePython
- MySQL MaxCompute與AnalyticDB實現資料處理與轉換過程MySql
- 教你如何運用python實現不同資料庫間資料同步功能Python資料庫
- python--進位制轉換和資料交換Python
- WebSocket系列之JavaScript字串如何與二進位制資料間進行互相轉換WebJavaScript字串
- 滑向未來(現代 JavaScript 與 CSS 滾動實現指南)JavaScriptCSS