解決PHP 的JSON POST 中的HTTP 請求正文解析
在PHP 中開發Webhook 端點時,檢索和解析和解析挑戰性。本文解決了嘗試在 JSON POST 場景中讀取 HTTP 請求正文時遇到的常見問題。
第一步涉及驗證請求標頭是否正確指示有效負載中是否存在 JSON 資料。在這種情況下,請求標頭顯示一個等待解析的大型 JSON 物件。然而,直接透過 $_POST['json'] 或 $_POST 等方法存取該物件是不可行的,因為資料不是以陣列的形式建構的。
有些開發者求助於使用 file_get_contents('php:/ /input') 或 fopen('php://input', 'r') 來取得請求正文。然而,單獨使用這些方法是不夠的;我們還需要 json_decode() 函數將原始 JSON 字串轉換為可存取的格式。
據發現,正確的方法包括組合這些步驟。解如下:
$inputJSON = file_get_contents('php://input'); $input = json_decode($inputJSON, TRUE); //convert JSON into array
透過將 json_decode() 的第二個參數設為 TRUE,JSON 轉換為關聯數組。這樣可以輕鬆存取和操作 PHP 腳本中的數據,滿足解析 POST-ed JSON 物件並與之互動的要求。
以上是如何在 PHP 中正確解析 JSON POST 請求體?的詳細內容。更多資訊請關注PHP中文網其他相關文章!