2011-04-19 73 views
3

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

现在看起来这是我能得到JSON文件出现在POST请求($ result变量)的结果的唯一途径:

$result = curl_exec($ch); 

回答

16

您可以在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); 

希望这有助于感谢

+0

感谢名单,将这些头确实解决了我是有格式问题(我的浏览器将无法识别该文件为有效的JSON文档)。我还想知道是否可以像JSON一样容易地输出XML。但是,我找不到与json_encode等效的函数。你知道这样的内置函数是否存在? – Epicurus 2011-04-20 14:17:21

+0

不客气,我很高兴它帮助你。 – 2011-04-20 15:43:26

0

我实现它几次,我把它作为字符串发布到WS,并作为字符串再次响应,作为响应。我使用json_encode和json_decode函数...