PHP

PHP 產生、讀取 JSON 資料格式教學與範例

介紹如何在 PHP 中使用 json_encodejson_decode 產生或讀取 JSON 格式的資料。

產生 JSON 格式資料

PHP 的 json_encode 函數可以將各種的 PHP 物件自動轉換成對應的 JSON 格式資料:

# 原始資料
$person = array('name' => 'Mary', 'age' => 23);

# 以 JSON 格式輸出
echo json_encode($person);
{"name":"Mary","age":23}

更複雜的 PHP 物件也都可以自動轉換:

# 原始資料
$list = array();
array_push($list, array('name' => 'Mary', 'age' => 23));
array_push($list, array('name' => 'John', 'age' => 19));

# 以 JSON 格式輸出
echo json_encode($list);
[{"name":"Mary","age":23},{"name":"John","age":19}]

自動檢查並轉換數值資料

在 PHP 中如果有數值的資料以文字的方式儲存,在轉為 JSON 格式時,預設也會保持原有的資料格式:

# 原始資料
$person = array('name' => 'Mary', 'age' => '23');

# 以普通 JSON 格式輸出
echo json_encode($person);
{"name":"Mary","age":"23"}

若想要讓數值的資料自動轉換為正確的型態,可以加上 JSON_NUMERIC_CHECK 參數:

# 自動檢查並轉換數值資料
echo json_encode($person, JSON_NUMERIC_CHECK);
{"name":"Mary","age":23}

這樣轉換出來的 JSON 資料會更好處理。

讀取 JSON 格式資料

若要讀取 JSON 格式資料,可以使用 PHP 的 json_decode 函數

# JSON 資料
$json = '[{"name":"Mary","age":23},{"name":"John","age":19}]';

# 將 JSON 格式資料轉換為 PHP 物件
$obj = json_decode($json, true);

# 檢視結果
echo $obj[0]["name"] . ":" . $obj[0]["age"];
Mary:23
Share
Published by
Office Guide

Recent Posts

Python 使用 PyAutoGUI 自動操作滑鼠與鍵盤

本篇介紹如何在 Python ...

9 個月 ago

Ubuntu Linux 以 WireGuard 架設 VPN 伺服器教學與範例

本篇介紹如何在 Ubuntu ...

9 個月 ago

Linux 網路設定 ip 指令用法教學與範例

本篇介紹如何在 Linux 系...

9 個月 ago

Windows 使用 TPM 虛擬智慧卡保護 SSH 金鑰教學與範例

本篇介紹如何在 Windows...

10 個月 ago

Linux 以 Shamir’s Secret Sharing 分割保存金鑰教學與範例

介紹如何在 Linux 中使用...

11 個月 ago

Linux 以 Cryptsetup、LUKS 加密 USB 隨身碟教學與範例

介紹如何在 Linux 系統中...

11 個月 ago