當前位置: 首頁> 最新文章列表> PHP中JSON轉數組與對象的詳細方法講解

PHP中JSON轉數組與對象的詳細方法講解

gitbox 2025-08-04

JSON簡介

JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,廣泛應用於Web開發。它基於JavaScript對象表示法,便於在各種語言中處理和傳輸數據。

將JSON字符串轉換為數組

PHP提供了json_decode函數,可以將JSON字符串轉換為PHP數組。只需將第二個參數設為true即可實現數組轉換。

$json_string = '{"name": "John", "age": 30, "city": "New York"}';
$data = json_decode($json_string, true);
print_r($data);

輸出結果:

Array
(
    [name] => John
    [age] => 30
    [city] => New York
)

將JSON字符串轉換為對象

如果需要將JSON字符串轉換為PHP對象,可以省略json_decode的第二個參數,默認返回對象形式。

$json_string = '{"name": "John", "age": 30, "city": "New York"}';
$data = json_decode($json_string);
echo $data->name; // 輸出John

從文件中讀取JSON數據

當JSON數據存儲在文件中時,可以先使用file_get_contents函數讀取文件內容,然後用json_decode進行轉換。

$json_string = file_get_contents('data.json');
$data = json_decode($json_string, true);

將PHP數組或對象編碼為JSON字符串

PHP提供json_encode函數,將數組或對象轉換為JSON格式字符串,方便數據傳輸或存儲。

$data = array(
    'name' => 'John',
    'age' => 30,
    'city' => 'New York'
);
$json_string = json_encode($data);
echo $json_string; // 輸出:{"name":"John","age":30,"city":"New York"}

處理JSON編碼中的Unicode字符

默認情況下,json_encode會對Unicode字符進行轉義。使用JSON_UNESCAPED_UNICODE選項,可以保持Unicode字符不被轉義,方便中文等字符的顯示。

$data = array(
    'name' => '張三',
    'age' => 30,
    'city' => '北京'
);
$json_string = json_encode($data, JSON_UNESCAPED_UNICODE);
echo $json_string; // 輸出:{"name":"張三","age":30,"city":"北京"}

總結

在PHP中,使用json_decode和json_encode函數可以輕鬆實現JSON與數組或對象之間的轉換,支持從文件讀取數據和處理Unicode字符,極大地方便了Web應用中JSON數據的操作。