今天我們來談一下 JSON 輸出 PHP。在 WEB 開發中,經常會使用 JSON 格式在前端和后端進行數據傳遞,利用 PHP 語言特性,我們可以非常方便地輸出 JSON 數據。
以一個簡單的例子來說明。
$data = array( "name" =>"Jack", "age" =>30, "email" =>"jack@example.com" ); echo json_encode($data);
這段代碼會輸出以下結果:
{"name":"Jack","age":30,"email":"jack@example.com"}
可以看到,PHP 使用 json_encode 函數將數組轉換為 JSON 格式的字符串,在前端可以輕松地使用 JSON.parse 方法將其轉換為 JavaScript 對象,方便地在頁面上顯示。
如果需要輸出帶有中文的 JSON 字符串,需要注意編碼問題,可以使用 json_encode 的第二個參數進行設置:
$data = array( "name" =>"張三", "age" =>30, "email" =>"zhangsan@example.com" ); echo json_encode($data, JSON_UNESCAPED_UNICODE);
JSON_UNESCAPED_UNICODE 參數可以避免默認的 Unicode 轉義,輸出中文字符。
當然,如果需要輸出格式化的 JSON 數據,可以使用 json_encode 的第三個參數,如下例所示:
$data = array( "name" =>"李四", "age" =>25, "email" =>"lisi@example.com" ); echo json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
JSON_PRETTY_PRINT 參數可以將 JSON 數據格式化輸出,方便查看。
除了數組外,也可以將對象轉換為 JSON 格式:
class Student { public $name; public $age; public $email; } $student = new Student(); $student->name = "王五"; $student->age = 20; $student->email = "wangwu@example.com"; echo json_encode($student);
這會輸出一個對象的 JSON 字符串:
{"name":"王五","age":20,"email":"wangwu@example.com"}
是不是很方便呢?不過需要注意,json_encode 只能將 public 屬性轉換為 JSON 字符串,如果屬性為 protected 或 private,會報錯。
最后補充一下,如果需要從 JSON 字符串轉換為 PHP 數組或對象,可以使用 json_decode 函數,如下例所示:
$json_str = '{"name":"趙六","age":18,"email":"zhaoliu@example.com"}'; $data = json_decode($json_str); print_r($data);
json_decode 函數會將 JSON 字符串轉換為 PHP 數組或對象,并返回結果。
好了,今天的 JSON 輸出 PHP 小結就到這里了。
上一篇json轉php
下一篇json解碼 php