如何正确解释使用 cURL 发布到 PHP 的 JSON 数据
在尝试使用 cURL 将 JSON 数据发布到 PHP 后端时,您遇到了发布的数据在 PHP 中显示为空数组的问题。这种差异是由于对 cURL 如何解释 -d 参数的误解而产生的。
默认情况下,cURL 假定使用 -d 参数发送的数据是表单编码的。但是,在您的情况下,您正在发送 JSON 数据。为了解决这个问题,您需要使用 -H 参数指定 Content-Type 标头:
curl -v -H "Content-Type: application/json" -X POST -d '{"screencast":{"subject":"tools"}}' \ http://localhost:3570/index.php/trainingServer/screencast.json
通过此修改,cURL 将正确以 JSON 形式发送数据,并且 PHP 将能够正确解析它。因此,您应该会收到包含已处理的 JSON 数据的有效响应。
以上是为什么在 cURL POST 后我的 JSON 数据在 PHP 中以空数组形式到达?的详细内容。更多信息请关注PHP中文网其他相关文章!