如何使用PHP读取JSON数据

时间:2015-12-27 17:22:11

标签: php api rest curl

我正在尝试读取curl请求发送的数据,但我无法读取它。 示例

curl -x post -d '{user:"test", pwd:"123"}' http://localhost/api/login/

和PHP代码

$user = $_POST['user'];

但总是我得到一个空值,如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

您可以在curl中指定帖子名称。现在你正在提交JSON,但没有名字。 (Link to curl man pages

-d data={JSON}

然后在php中你可以加载和解码JSON:(Link to json_decode in the php manual

$data = json_decode($_POST['data'], true);
$user = $data['user'];

如果要在不使用键/值对的情况下继续发送数据,可以保留现有的curl实现并在PHP中使用以下内容:

$data = @file_get_contents("php://input");
$json = json_decode($data, true);

取自:XMLHTTP request passing JSON string as raw post data