如何从 Zend 只返回 JSON [英] How to return only JSON from Zend

查看:15
本文介绍了如何从 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

这篇关于如何从 Zend 只返回 JSON的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆