PHP操作JSON數據

巴扎黑
發布: 2016-11-21 14:19:35
原創
1638 人瀏覽過

JSON 是一種輕量級的文字資料交換格式,他比XML 更小、更快,更易解析,所以在PHP開發過程中,我們經常會用它來傳遞數據,本文UncleToo將個大家介紹一下PHP如何操作JSON資料

PHP操作JSON資料一般在AJAX中使用的比較多,可以將JSON格式的資料傳給AJAX,也可以將AJAX傳回的JSON資料解析成我們需要的字串。在PHP中可以使用 json_decode() 函數來解析JSON格式數據,使用 json_encode() 函數將字串(數組)產生JSON格式。

先看範例:

範例1:

Php程式碼  

<?php  
$json = &#39;{"a":1, "b":2, "c":3, "d":4, "e":5 }&#39;;  
var_dump(json_decode($json));  
echo "<br/>";  
var_dump(json_decode($json,true));  
?>
登入後複製

 

輸出:

=object(stdClass)#1 (5) { ["a"]= int"( => int(2) ["c"]=> int(3) ["d"]=> int(4) ["e"]=> int(5) }

array(5) { ["a "]=> int(1) ["b"]=> int(2) ["c"]=> int(3) ["d"]=> int(4) ["e"]=> int( 5) }

範例2:

 

Php程式碼  

<?php  
$arr = array (&#39;a&#39;=>1,&#39;b&#39;=>2,&#39;c&#39;=>3,&#39;d&#39;=>4,&#39;e&#39;=>5);  
echo json_encode($arr);  
?>
登入後複製

 

輸出:

{"a":1,"b":2,"c":3," ":5}

 

從範例1我們可以看到,用json_decode函數可以將JSON資料轉換成數組,但是,如果JSON資料裡又嵌套了JSON數據,那就不能直接這樣寫了,這裡需要用自訂函數來實作將巢狀的JSON資料轉換成陣列。

範例:

 

Php程式碼  

<?php  
function json_to_array($web){  
$arr=array();  
foreach($web as $k=>$w){  
    if(is_object($w)) $arr[$k]=json_to_array($w); //判断类型是不是object  
    else $arr[$k]=$w;  
}  
return $arr;  
}  
?>
登入後複製

 呼叫範例:

Php程式碼  

<?php  
$s=&#39;{"webname":"UncleToo","url":"www.uncletoo.com","menu":{"PHP":"1","DataBase":"2","Web":"3"}}&#39;;  
$web=json_decode($s);  
$arr=json_to_array($web);  
print_r($arr);  
?>
登入後複製

. [menu] => Array ( [PHP] => 1 [DataBase] => 2 [Web] => 3 ) )

以上就是PHP操作JSON資料的常用方法,大家如果有其他想法及方法可以跟UncleToo一起討論。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!