php對json檔案的增刪改查

WBOY
發布: 2023-05-24 15:10:07
原創
808 人瀏覽過

隨著網路的發展,資料的互動越來越頻繁,其中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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!