json_encode數據到JSON
json_decode JSON到PHP變量的轉換
這兩個PHP JSON互轉函數在使用Ajax諸如:jquery和Ext框架的時候顯得尤為重要,Ext默認接受的數據就是JSON格式,而jquery如果讓JSON接入之後就顯得更加輕松和簡潔。本文將用一個實例討論一下PHP 的JSON數據函數在jquery中的應用。
Jquery做為一個輕量級的Ajax框架確實顯得短小而精悍,比較適合Web編程的前台頁面,更加適合和PHP結合。其中jquery中有一個方法是:$.getJSON,這個用來從服務器腳本頁面取得JSON格式的數據的。我們按順序來,首先建立一個名為json.php的PHP腳本,具體程序如下:
- < ?php
- //創建一個聯合數組,這裡我們盡量真
實的模擬了一個從數據庫中讀取的記錄- $a=array('name'=>'dog','sex'=>
'f','par'=>array('li','wang','lian'));- $b=array('name'=>'pig','sex'=>
'm','par'=>array('liv','wange','liang'));- $arrayarray = array(0=>$a,1=>$b);
- //將數組轉化為一個json數據串
- echo json_encode($array);
- ?>
前台頁面jquery代碼:
- < script>
- $(document).ready(function(){
- $.getJSON(
- 'json.php',
- function(data){
- var content="";
- for(var i=0;i<data.length;i++)
{//循環讀取後台的取得的JSON數據- content+=data[i].name;
- var par="排擋:";
- for(var j=0;j<data[i].par.
length;j++){//循環讀取數據中的par集合- par+=data[i].par[j]+"、";
- }
- content+=par+"<br/>";
- }
- alert(content);
- }
- );
- });
- < /script>
本例在循環讀取數據的時候應用了js的基本流程控制for循環方法,在jquery中也提供了一個遍歷方法each有興趣的兄弟們可以自己了解一下這個方法,底層實現也是基於for循環的。
注意:json_encode json_decode兩個PHP JSON互轉函數是在PHP5.2之後才有的,早於此前的版本使用將會報一個找不到函數的錯誤!