从PHP REST Web服务返回JSON结果

时间:2011-04-19 15:48:42

标签: php web-services json rest curl

我有一个用PHP编写的REST Web服务,我使用POST请求调用它(为此使用curl)。 Web服务应返回JSON文档。 问题是,我不确定将此文档发送回Web服务客户端的正确方法是什么。只是回应它就足够了吗?

现在看起来这是我可以让JSON文档出现在POST请求结果中的唯一方法($ result变量):

$result = curl_exec($ch);

3 个答案:

答案 0 :(得分:18)

您可以在Array或Object中格式化结果,然后使用json标头回显它。 即

$result_json = array('name' => 'test', 'age' => '16');

// headers for not caching the results
header('Cache-Control: no-cache, must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');

// headers to tell that result is JSON
header('Content-type: application/json');

// send the result now
echo json_encode($result_json);

希望这有帮助,谢谢

答案 1 :(得分:0)

我已经实现了几次,我只是将其作为字符串发布到WS并从WS回显为响应再次作为字符串。我使用了json_encode和json_decode函数......

答案 2 :(得分:0)

要从php获取json结果,您应该使用

echo json_encode($result_json)

但是echo不会退出程序,因此在使用echo之后最好退出程序,但是速记可以使用

exit(json_encode($result_json));