Skip to content
Related Articles

Related Articles

How to receive JSON POST with PHP
  • Last Updated : 02 Jan, 2019
GeeksforGeeks - Summer Carnival Banner

Let us first look at the below three features:

  • php://input: This is a read-only stream that allows us to read raw data from the request body. It returns all the raw data after the HTTP-headers of the request, regardless of the content type.
  • file_get_contents() function: This function in PHP is used to read a file into a string.
  • json_decode() function: This function takes a JSON string and converts it into a PHP variable that may be an array or an object.

It is known that the all of the post data can be received in a PHP script using the $_POST[] global variable. But this fails in the case when we want to receive JSON string as post data. To receive JSON string we can use the “php://input” along with the function file_get_contents() which helps us receive JSON data as a file and reads it into a string.

Later, we can use the json_decode() function to decode the JSON string.

Handling JSON POST request:

// Takes raw data from the request
$json = file_get_contents('php://input');

// Converts it into a PHP object
$data = json_decode($json);

Example 1:






<?php
  
$json = '["geeks", "for", "geeks"]';
  
$data = json_decode($json);
  
echo $data[0];
?>
Output:
geeks

Example 2:




<?php
$json = '{
    "title": "PHP",
    "site": "GeeksforGeeks"
}';
  
$data = json_decode($json);
  
echo $data->title;
echo "\n";
  
echo $data->site;
?>
Output:
PHP
GeeksforGeeks

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up
Recommended Articles
Page :