JSON (JavaScript Object Notation) 是輕量級資料交換格式,易於人閱讀、機器解析。兩大核心結構:
物件以 {} 包裹,陣列以 [] 包裹,值支援字串、數值、布林、null、物件、陣列,可巢狀嵌套。
無需額外安裝。注意:請確保檔案編碼為 UTF-8,避免中文亂碼。
// 物件形式
var json_obj = {'WebName':'PHP網站開發教程網'};
alert(json_obj.WebName);
// 陣列包含物件 (類關聯陣列)
var json_arr = [{'WebName':'PHP網站開發教程網','WebSite':'https://www.jb51.net'},{'ArtTitle':'PHP JSON實例講解'}];
alert(json_arr[1].ArtTitle);
// 純陣列形式
var php_json = [['PHP網站開發教程網','https://www.jb51.net'],['文章標題','PHP JSON實例講解']];
alert(php_json[1][0]);
提醒: JavaScript 區分大小寫,存取鍵名時需完全一致。
| 函數 | 用途 | 說明 |
|---|---|---|
json_encode() | PHP 陣列/物件 → JSON 字串 | 支援關聯陣列與索引陣列 |
json_decode() | JSON 字串 → PHP 變數 | 預設回傳物件,加 true 參數回傳關聯陣列 |
<?php
$json_arr = array('WebName'=>'PHP網站開發教程網','WebSite'=>'https://www.jb51.net');
$php_json = json_encode($json_arr);
echo $php_json; // 輸出: {"WebName":"PHP網站開發教程網","WebSite":"https://www.jb51.net"}
$php_json = json_decode($php_json);
print_r($php_json); // 預設為物件
// 若需陣列: json_decode($php_json, true);
?>
<?php
$json_arr = array('WebName'=>'PHP網站開發教程網','WebSite'=>'https://www.jb51.net');
$php_json = json_encode($json_arr);
?>
<script type="text/javascript">
var php_json = <?=$php_json?>;
</script>
<script type="text/javascript">
function php_json_dis(php_json) {
alert(php_json.WebName);
alert(php_json.WebSite);
}
php_json_dis(php_json);
</script>
流程:PHP 端 json_encode → 直接輸出至 JS 變數 → JS 端直接存取屬性。無需手動解析,極度簡潔。
json_decode 預設回傳 stdClass 物件,習慣用陣列請加第二參數 true。memory_limit 與 max_execution_time。json_encode / json_decode 讓 PHP 與前端、API 介接變得極其輕鬆。掌握編碼規範與參數細節,即可高效處理 JSON 資料交換。