Php 将json作为请求体发送或在变量中发布json

Php 将json作为请求体发送或在变量中发布json,php,Php,我想弄清楚,有没有办法将原始json发送到php而不是POST参数。如果可能的话,那么哪种方式是最好的,我指的是请求正文或POST参数。发送一个HTTP请求,该请求将JSON字符串作为其请求正文(此处:在命令行上使用curl): 请阅读PHP中的此请求正文: $json = file_get_contents('php://input'); 解码它: $data = json_decode($json, true); 如果POST请求的请求体包含URL编码的键值对(例如foo=bar&ba

我想弄清楚,有没有办法将原始json发送到php而不是POST参数。如果可能的话,那么哪种方式是最好的,我指的是请求正文或POST参数。

发送一个HTTP请求,该请求将JSON字符串作为其请求正文(此处:在命令行上使用
curl
):

请阅读PHP中的此请求正文:

$json = file_get_contents('php://input');
解码它:

$data = json_decode($json, true);


如果POST请求的请求体包含URL编码的键值对(例如
foo=bar&baz=42
),PHP的
$\u POST
超全局将自动填充为数组。在上面的示例中,您仍然使用带有“POST数据”的HTTP POST请求。它不会自动以
$\u POST
结束,因为PHP不知道如何自动解码JSON。

发送一个HTTP请求,该请求将JSON字符串作为其请求体(此处:在命令行上使用
curl
):

请阅读PHP中的此请求正文:

$json = file_get_contents('php://input');
解码它:

$data = json_decode($json, true);


如果POST请求的请求体包含URL编码的键值对(例如
foo=bar&baz=42
),PHP的
$\u POST
超全局将自动填充为数组。在上面的示例中,您仍然使用带有“POST数据”的HTTP POST请求。它不会自动以
$\u POST
结束,因为PHP不知道如何自动解码JSON。

为什么不使用POST?这是将数据“发布”到HTTP资源的标准方式是的,可以发送一个HTTP请求,因为它的请求体包含原始JSON。好的,谢谢,那么我应该如何在php脚本中获得传递的JSON。POST参数是请求体(显然对于POST请求)。您可以检查这一点(使用php和jquery)链接:-你为什么不想使用这篇文章?这是将数据“发布”到HTTP资源的标准方式是的,可以发送一个HTTP请求,该请求的请求体包含原始JSON。好的,谢谢,那么我应该如何在php脚本中获得传递的JSON。POST参数是请求体(显然是POST请求)。您可以检查以下链接(使用php和jquery):-