我有一个用PHP编写的REST Web服务,我使用POST请求调用它(为此使用curl)。 Web服务应返回JSON文档。 问题是,我不确定将此文档发送回Web服务客户端的正确方法是什么。只是回应它就足够了吗?
现在看起来这是我可以让JSON文档出现在POST请求结果中的唯一方法($ result变量):
$result = curl_exec($ch);
答案 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));