2011-04-19 74 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函數...