我想在我的PHP应用程序一个JSON消息来读取,这是我的PHP代码:PHP:的file_get_contents(“PHP://输入”)的JSON消息返回字符串
$json = file_get_contents('php://input');
$obj = json_decode($json, TRUE);
echo $obj->{'S3URL'};
当我做这个我收到以下错误:
Trying to get property of non-object in setImage.php on line 25 (line 25 is the echo $obj->{'S3URL'}; line)
这是请求页面的请求体:
Request Url: http://localhost:8888/setImage.php
Request Method: POST
Status Code: 200
Params: {
"S3URL": "http://url.com"
}
这是reques牛逼标题:
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Origin: chrome-extension: //rest-console-id
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML,
但是,如果我不是呼应了$json
变量,我得到以下几点:
S3URL=http%3A%2F%2Furl.com
所以它看起来像file_get_contents('php://input');
在阅读它作为一个字符串,而不是JSON,这将使解析更加困难。
为什么它没有被返回JSON,或者我怎么能得到它的返回为JSON任何想法?
json_decode($ JSON,TRUE);返回数组不是对象。 –
'php:// input'总是按原样提取请求主体。因此,如果您没有获取JSON代码,则不会发送JSON代码。期。由于有一个'='你得到的字符串中,形式最有可能被作为'应用程序/ x-WWW的形式urlencoded' –
Abhik,是的,我试图消除TRUE,但仍然没有骰子。感谢Johannes H,我使用REST控制台来发送数据,并且从请求的内容头中看起来它应该将它作为JSON发送,但也许它不是? –