程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 技巧總結 正確使用PHP JSON擴展

技巧總結 正確使用PHP JSON擴展

編輯:關於PHP編程

JSON 是一項旨在允許中間件創建使用 JavaScript 固有格式的對象的協議。它最強大的屬性是它是一種輕量級協議。簡單處理 RSS 聚合或 recipe 列表時,您不需要在 JavaScript 中使用 XML 的全部功能。不需要驗證格式或確保嚴格的數據鍵入。

PHP JSON擴展編碼和解碼

有兩個函數用於PHP JSON擴展:encode 和 decode。第一個函數將把任意類型的數據對象轉換為一組序列化數據,以供 JavaScript 處理。第二個函數將把序列化數據解碼,並將其轉換為基本 PHP 對象或聯合數組。我們來看一看 json_decode()。
json_decode() 的示例

  1. < ?php  
  2. $jsonObject = '{"21":{"url":"www.blah.com
    /story1.html","title":"JSON is sweeping
     AJAX world","viewed":false},"22":{"url":
    "www.blah.com/story2.html","title":"JSON 
    is great","viewed":false}}';  
  3. $decodedObject = json_decode($jsonObject);  
  4. $decodedArray = json_decode($jsonObject, true);  
  5. print_r($decodedObject);  
  6. echo "< br>< br>";  
  7. print_r($decodedArray);  
  8. ?>   
  9.  

如上,我們有一個 PHP 腳本,該腳本將獲取 $jsonObject 並將其解碼回 PHP 固有對象。我們進行了兩次解碼。第一次,使用未經修改的用法,這將得到 stdClass 的對象;第二次,使用布爾型參數來創建聯合數組。
以下是decode的輸出:

  1. stdClass Object ( [21] => 
    stdClass Object ( [url] => 
    www.blah.com/story1.html [title] => 
    JSON is sweeping AJAX world [viewed] =>
     ) [22] => stdClass Object ( [url] =>
     www.blah.com/story2.html [title] => 
    JSON is great [viewed] => ) ) Array ( [21] => 
    Array ( [url] => www.blah.com/story1.html 
    [title] => JSON is sweeping AJAX world
     [viewed] => ) [22] => Array ( [url] =>
     www.blah.com/story2.html [title] =>
     JSON is great [viewed] => ) )   
  2.  

我們再來看看encode:

  1. < ?php  
  2. $results = array("21" =>   
  3. array("url" =>   
  4. "www.blah.com/story1.html", "title" =>   
  5. "JSON is sweeping AJAX world", "viewed" =>   
  6. FALSE), "22" => array("url"=>   
  7. "www.blah.com/story2.html", "title" =>   
  8. "JSON is great", "viewed" => FALSE));  
  9. $jsonObject = json_encode($results);  
  10. echo $jsonObject;  
  11. ?>   
  12.  

沒有使用遞歸。沒有添加標記。只需將其傳入 json_encode() 函數,然後它將從另一端作為 JSON 序列化對象傳出。

結束語

JSON 是一種有用的、輕量級協議,現在可用於 PHP V5.2,它可以輕松地實現從 PHP 應用程序中提取出數據,並將其放入 Ajax 應用程序的過程。相應地,PHP JSON擴展同樣也是輕量級且十分有用的,只包含兩個易於使用的函數。

使用這些函數,我們可以轉換和導出對象結構,還可以使用 json_encode() 使來自 PHP 數據庫連接的數據可用於 Ajax 應用程序。在 Ajax 應用程序中處理完數據後,可以將數據返回 PHP 腳本並用 json_decode() 重新創建可用的對象數據結構。當把數據返回到 PHP 後,我們可以將其存儲到數據庫中,或使用 PHP 提供的眾多選擇中的任何其他數據處理方法。
 


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved