Get JSON data from POST in PHP
$rawPostData = file_get_contents("php://input") $requestData = json_decode($rawPostData);
Unfortunately, if you want to process a POST request containing JSON data in your PHP code, you cannot use the well-known
$_POST superglobal variable.
So to retrieve JSON data from a POST request, you will have to use another method.
In this case, you can use the
php:// wrappers that help access various I/O streams. From these wrappers,
php://input helps you to get the data.
php://input is a read-only stream that allows you to read raw data from the request body.
So to get the full request body content you can write this:
$rawPostData = file_get_contents("php://input");
And as we get a raw JSON string we can decode it to a JSON object using the
json_decode method like this:
$requestData = json_decode($rawPostData);
If you want the result, not as a
stdObject but as an associative array then use this code:
$requestData = json_decode($rawPostData, true);