如何从 Zend 只返回 JSON
我的项目使用 Zend Framework 1.x.我想为调用者函数创建一个只返回 JSON 字符串的 Web 服务.我尝试使用 Zend_Controller_Action
并应用这些方法:
I'm using Zend Framework 1.x for my project. I want to create a Web service return only JSON string for the caller function. I tried to use Zend_Controller_Action
and applied those ways:
1.
$this->getResponse()
->setHeader('Content-type', 'text/plain')
->setBody(json_encode($arrResult));
2.
$this->_helper->getHelper('contextSwitch')
->addActionContext('nctpaymenthandler', 'json')
->initContext();
3.
header('Content-type: application/json');
4.
$this->_response->setHeader('Content-type', 'application/json');
5.
echo Zend_Json::encode($arrResult);
exit;
6.
return json_encode($arrResult);
7.
$this->view->_response = $arrResult;
但是当我使用 cURL 获取结果时,它返回带有一些 HTML 标记包围的 JSON 字符串.然后我尝试使用上述选项来使用 Zend_Rest_Controller
.还是没有成功.
But when I used cURL to get result, it returned with JSON string surrounded by some HTML tags. Then I tried to user Zend_Rest_Controller
with the options above. It still did not success.
P.S.:以上大部分方法都来自 Stack Overflow 上提出的问题.
P.S.: Most of those ways above are from the question which had been asked on Stack Overflow.
推荐答案
我喜欢这种方式!
//encode your data into JSON and send the response
$this->_helper->json($myArrayofData);
//nothing else will get executed after the line above
相关文章