我想在我的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發送,但也許它不是? –