我正在使用上下文切换来获取Zend框架中的json响应
这是我在控制器
中的init函数中使用的代码$this->_helper->contextSwitch()
->addActionContext('index', array('xml', 'json'))
->setAutoJsonSerialization(true)
->initContext();
在其他一些方法中,我有doctrine_collection数据,我想作为json响应。
代码是
$pm = new ProfileMessage();
$flirts = $pm->fetchLastMessages($this->_member->user_id, "0,1",
Labels_MessageType::FLIRT, 5, 0);
$this->view->flirts = $flirts;
但是对于响应我得到一个空的json字符串。
{"flirts":{}}
我做错了什么。 提前致谢
答案 0 :(得分:0)
您需要确保$ flirts是一个数组或可序列化的对象:
php > $user = new Model_User();
php > $user->setId(10);
php > echo json_encode($user);
{} //output is empty
/* Convert the object to array */
php > echo json_encode($user->toArray());
{"_id":10} //output not empty
/* Trying a simple object */
php > $simple = new stdClass();
php > $simple->something = 'else';
php > echo json_encode($simple);
{"something":"else"} //output not empty