php JSON

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

編碼和解碼

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


json_decode() 的示例

<?php
$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}}';
$decodedObject = json_decode($jsonObject);
$decodedArray = json_decode($jsonObject, true);
print_r($decodedObject);
echo "<br><br>";
print_r($decodedArray);
?>

 

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


以下是decode的輸出:

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] => ) )

 

 

我們再來看看encode:

<?php
$results = array("21" => array("url" => "www.blah.com/story1.html", "title" => "JSON is sweeping AJAX world", "viewed" => FALSE), "22" => array("url" => "www.blah.com/story2.html", "title" => "JSON is great", "viewed" => FALSE));
$jsonObject = json_encode($results);echo $jsonObject;
?>

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

結束語

JSON 是一種有用的、輕量級協議,現在可用於 PHP V5.2,它可以輕鬆地實現從 PHP 應用程序中提取出數據,並將其放入 Ajax 應用程序的過程。相應地,PHP 中的 JSON 同樣也是輕量級且十分有用的,只包含兩個易於使用的函數。使用這些函數,我們可以轉換和導出對象結構,還可以使用 json_encode() 使來自 PHP 數據庫連接的數據可用於 Ajax 應用程序。在 Ajax 應用程序中處理完數據後,可以將數據返回 PHP 腳本並用 json_decode() 重新創建可用的對象數據結構。當把數據返回到 PHP 後,我們可以將其存儲到數據庫中,或使用 PHP 提供的衆多選擇中的任何其他數據處理方法。

 

 

本文引用:http://www.maycode.com/index.php/hotspot/32-web20/587-json.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章