首頁 後端開發 PHP問題 php對json檔案的增刪改查

php對json檔案的增刪改查

May 24, 2023 pm 03:10 PM

隨著網路的發展,資料的互動越來越頻繁,其中JSON(JavaScript Object Notation)成為大家喜愛的資料傳輸格式之一。因此,處理JSON資料變得越來越重要。本文將介紹使用PHP處理JSON檔的增、刪、改、查操作。

  1. JSON的語法基礎

在正式解說PHP對JSON的運算之前,先先了解JSON的文法基礎。 JSON採用鍵值對的方式記錄數據,其中鍵用雙引號括起來,緊接著是一個冒號,再接著是一個值(可以是任意類型的值,如:字串、數字、布林值、陣列、對象、null)。多個鍵值對之間用逗號隔開,並且整個JSON以大括號{}包圍。

舉例:

{

"name": "张三",
"age": 25,
"city": "上海",
"friends": [
    "李四",
    "王五",
    "赵六"
]
登入後複製
登入後複製

}

  1. #PHP中的JSON函數

PHP內建了一些處理JSON資料的函數,它們包括:

json_encode():用於將PHP數組轉換為JSON格式字串。

json_decode():用於將JSON格式字串轉換為PHP陣列/物件。

json_last_error():用於取得最後一次JSON編碼/解碼產生的錯誤訊息。

下面就透過實例來介紹這些函數的具體使用。

  1. JSON檔案的讀取與解析

我們假設有一個JSON檔案data.json,內容如下:

{

"name": "张三",
"age": 25,
"city": "上海",
"friends": [
    "李四",
    "王五",
    "赵六"
]
登入後複製
登入後複製

}

我們需要讀取這個JSON檔案並解析成PHP數組,使用json_decode()函數即可,程式碼如下:

// 读取JSON文件
$json_str = file_get_contents('data.json');

// 解析JSON文件为PHP数组
$data = json_decode($json_str, true);

// 打印数组
print_r($data);
登入後複製

?>

輸出結果如下:

Array
(

[name] => 张三
[age] => 25
[city] => 上海
[friends] => Array
    (
        [0] => 李四
        [1] => 王五
        [2] => 赵六
    )
登入後複製

)

其中,json_decode()函數的第二個參數為true,表示解碼為PHP數組。如果不傳遞這個參數或傳遞false,則解碼為PHP物件。

  1. JSON檔案的寫入與產生

在PHP中,將PHP陣列轉換為JSON格式的字串可以使用json_encode()函數。例如,將上述範例中的陣列$data轉換為JSON格式的字串,程式碼如下:

##
// 将PHP数组转换为JSON格式字符串
$json_str = json_encode($data, JSON_UNESCAPED_UNICODE);

// 打印JSON格式字符串
echo $json_str;
登入後複製

?>

輸出結果如下:

{"name":"張三","age":25,"city":"上海","friends":["李四","王五","趙六" ]}

可以看到,json_encode()函數的第二個參數JSON_UNESCAPED_UNICODE表示不將中文轉義成Unicode編碼。

接下來,我們需要將上述的JSON格式字串寫入檔案中,可以使用file_put_contents()函數,程式碼如下:

// 将JSON格式字符串写入文件
file_put_contents('result.json', $json_str);
登入後複製

?>

其中,第一個參數為已儲存的檔名,第二個參數為要寫入的JSON格式字串。

    JSON檔案的修改
修改JSON文件,實際上就是修改其對應的PHP數組,然後再將數組轉換為JSON格式字串,覆寫原來的文件即可。假設我們要將張三的年齡修改為30歲,程式碼如下:

// 修改PHP数组
$data['age'] = 30;

// 将PHP数组转换为JSON格式字符串
$json_str = json_encode($data, JSON_UNESCAPED_UNICODE);

// 覆盖原来的JSON文件
file_put_contents('data.json', $json_str);
登入後複製

?>

    JSON檔的刪除
刪除JSON文件,可以使用unlink()函數,如下:

// 删除JSON文件
unlink('data.json');
登入後複製

?>

    JSON資料的查詢
處理JSON中的資料時,我們常常需要查詢某個鍵的值。假如需要查詢張三的城市,程式碼如下:

// 读取JSON文件
$json_str = file_get_contents('data.json');

// 解析JSON文件为PHP数组
$data = json_decode($json_str, true);

// 查询张三的城市
$city = $data['city'];

// 打印张三的城市
echo $city;  // 上海
登入後複製
?>

透過這個例子可以看出,在PHP中處理JSON數據和處理普通的陣列或物件並沒有差別。

總結

本文介紹了PHP對JSON檔案的增刪改查操作,包括讀取解析、寫入產生、修改、刪除和查詢。當然,這些操作都是基於JSON檔案或字串,而不是資料庫。因此,當我們需要處理大量資料時,建議使用資料庫,而不是JSON檔案。

以上是php對json檔案的增刪改查的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)