从PHP中的JSON POST读取HTTP请求体

我正在写一个脚本,被注册为webhook的端点。 我知道这是成功注册,因为我正在写我的服务器日志的每个请求的标题。 这是一个示例:

Content-Type: text/xml; charset=UTF-8 User-Agent: Jakarta Commons-HttpClient/3.1 Host: =={obfuscated}== Content-Length: 1918 

我注册的API是将JSON对象发布到我的脚本,我想用PHPparsing这个对象。 正如你可以从请求头看到的,有一个很大的胖胖的JSON对象正在等待被parsing。 这似乎很直接,但并没有。

起初,我尝试使用$_POST['json']或只是$_POST但由于数据不在数组中,我不确定如何访问它。

我尝试过使用file_get_contents('php://input')fopen('php://input', 'r') ,但没有使用json_decode()但没有运气。 我不能使用http_get_request_body()因为我所在的服务器没有PECL,这是我的控制。

有没有其他的方式来与我所缺less的POST-JSON对象进行交互? 谢谢!

感谢别人的意见。 事实certificate,我只是需要

 $inputJSON = file_get_contents('php://input'); $input = json_decode($inputJSON, TRUE); //convert JSON into array 

json_decode中的第二个参数作为数组返回对象。

希望这可以帮助别人!