2011-04-19 6 views
3

PHP로 작성된 REST 웹 서비스가 있고이를 위해 curl을 사용하여 POST 요청을 사용하고 있습니다. 웹 서비스는 JSON 문서를 반환해야합니다. 문제는이 문서를 웹 서비스 클라이언트로 다시 보내는 올바른 방법이 무엇인지 모르겠습니다. 그냥 반향만으로도 충분합니까?PHP REST 웹 서비스에서 JSON 결과 반환

$result = curl_exec($ch); 

답변

16

결과를 배열 또는 객체로 포맷 한 다음 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

+0

당신을 환영합니다. 당신을 도왔 기 때문에 기쁩니다. –

0

나는 그것을 구현했습니다 :이 내가 POST 요청합니다 ($ 결과 변수)의 결과에 표시하기 위해 JSON 문서를 얻을 수있는 유일한 방법처럼

는 지금 그것은 본다 몇 번 그리고 나는 그것을 WS에 문자열로 게시하고 WS에서 응답을 문자열로 다시 보내고 있었다. 이것에 대해 json_encode 및 json_decode 함수를 사용했습니다 ...

관련 문제