解析POST发送的JSON数据时,PHP中的奇怪对象输出

时间:2019-06-08 16:31:06

标签: php json apache2

我是php的新手,我的目标是使用Apache2和PHP7将Particle Cloud(IoT cloud)中的JSON数据发送到我的Ubuntu 18.04服务器。我正在编写用于解析JSON数据的php脚本,但是在访问POSTED数据的值时遇到问题

我尝试遵循不同的示例来说明如何使用$_POST array来转换json_decode(),但是我仍然不知道为什么它不起作用

我的文件data.json带有JSON数据

{"key1":"value1", "key2":"value2"}

我的parser.php脚本是

<?php
$incoming = $_POST;
var_dump($incoming);

$data = json_decode(json_encode($var1), true);
var_dump($data);
?>

在Ubuntu 18.04终端中,我使用curl测试转储的变量

curl -v -X POST 'Content-Type: application/json;charset=UTF-8' -d data.json http://localhost/parser.php

我的结果

for $incoming
    array(1){
    ["{"key1":"value1","key2":"value2"}"]=>
    string(0) ""
    }

for $data
    object(stdClass)#1 (1) {
    ["{"key1":"value1","key2":"value2"}"]=>
    string(0) ""
    }

但是我希望像{"key1":"value1","key2":"value2"}这样的东西,而不是[]中的数组或对象

我无法通过键访问值。例如,

var_dump($data['key1']);

带来NULL

0 个答案:

没有答案