I am a newbie with php and I aim to send JSON data from Particle Cloud (IoT cloud) to my Ubuntu 18.04 server with Apache2 and PHP7. I am writing php script that would parse JSON data but I have issues with accessing values of POSTed data
I have tried to follow different examples explaining how to convert $_POST array
using json_decode()
but I still have not figured out why it does not work
My file data.json
is with JSON data
{"key1":"value1", "key2":"value2"}
my parser.php
script is
<?php
$incoming = $_POST;
var_dump($incoming);
$data = json_decode(json_encode($var1), true);
var_dump($data);
?>
In Ubuntu 18.04 terminal I test dumped variables with curl
curl -v -X POST 'Content-Type: application/json;charset=UTF-8' -d data.json http://localhost/parser.php
My results
for $incoming
array(1){
["{"key1":"value1","key2":"value2"}"]=>
string(0) ""
}
for $data
object(stdClass)#1 (1) {
["{"key1":"value1","key2":"value2"}"]=>
string(0) ""
}
But I expect something like {"key1":"value1","key2":"value2"}
, not array or Object in []
I can't access values by keys. For example,
var_dump($data['key1']);
brings NULL