首頁  >  文章  >  後端開發  >  如何使用PHP接收POST的JSON數據

如何使用PHP接收POST的JSON數據

藏色散人
藏色散人原創
2021-08-26 10:32:4410676瀏覽

在上一篇文章《php程式如何遍歷json數據》中為大家介紹了PHP怎麼遍歷json數據,那麼本文將繼續介紹PHP json相關內容,希望大家繼續往下看~

本文解說的內容則是PHP接收POST的JSON資料的方法。

如果大家閱讀過上一篇文章,想必對json有一定的認識,這裡就不多介紹了。

首先我要跟大家介紹三個重要的知識點:

1、php://input:這是一個唯讀流,允許我們從請求正文中讀取原始資料。無論內容類型為何,它都會在請求的 HTTP 標頭之後傳回所有原始資料。

2、file_get_contents() 函數:PHP 中的此函數用於將檔案讀入字串。

3、json_decode() 函數:該函數接受一個 JSON 字串並將其轉換為 PHP 變量,該變數可以是數組或物件。

想必大家都知道我們可以使用$_POST[]全域變數在 PHP 腳本中接收所有發佈資料。但是當我們想要接收 JSON 字串作為發布資料時,就會顯示失敗。那麼想要接收 JSON 字串,我們就可以使用「php://input」和file_get_contents()函數來幫助我們將 JSON 資料接收為檔案並將其讀入字串。

下面我們透過具體範例來介紹:

使用json_decode()函數對 JSON 字串進行解碼。

// 从请求中获取原始数据
$json = file_get_contents('php://input'); 
// 将其转换为 PHP 对象
$data = json_decode($json);

第一個範例:

<?php
$json = &#39;["PHP", "HTML", "javascript"]&#39;;

$data = json_decode($json);

echo $data[0];

輸出結果:

PHP

第二個範例:

<?php
$json = &#39;{
    "title": "PHP",
    "site": "PHP中文网"
}&#39;;

$data = json_decode($json);

echo $data->title;
echo "<br>";

echo $data->site;

輸出:

PHP
PHP中文网

PHP中文網路平台有非常多的影片教學資源,歡迎大家學習《PHP影片教學》!

以上是如何使用PHP接收POST的JSON數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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