小编Dav*_*Moz的帖子

PHP:file_get_contents('php:// input')返回JSON消息的字符串

我试图在我的PHP应用程序中读取JSON消息,这是我的PHP代码:

$json = file_get_contents('php://input');
$obj = json_decode($json, TRUE);
echo $obj->{'S3URL'};
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我收到以下错误:

Trying to get property of non-object in setImage.php on line 25 (line 25 is the echo $obj->{'S3URL'}; line)
Run Code Online (Sandbox Code Playgroud)

这是页面请求的请求体:

Request Url: http://localhost:8888/setImage.php
Request Method: POST
Status Code: 200
Params: {
   "S3URL": "http://url.com"
}
Run Code Online (Sandbox Code Playgroud)

这是请求标头:

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,
Run Code Online (Sandbox Code Playgroud)

但是,如果我反过来调出$json变量,我得到以下内容:

S3URL=http%3A%2F%2Furl.com
Run Code Online (Sandbox Code Playgroud)

所以它看起来像是file_get_contents('php://input');以字符串形式读取,而不是JSON,这将使解析更加困难.

知道为什么它不作为JSON返回,或者我怎么能让它作为JSON返回?

php json

8
推荐指数
2
解决办法
5万
查看次数

标签 统计

json ×1

php ×1