De hecho viendo el código de ContextSwitch.php en el Zend Framework, lo que hace es codificar usando las variables de la vista:
Código PHP:
Ver original$viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
$view = $viewRenderer->view;
if ($view instanceof Zend_View_Interface) {
/**
* @see Zend_Json
*/
require_once 'Zend/Json.php';
$vars = Zend_Json::encode($view->getVars());
$this->getResponse()->setBody($vars);
} else {
require_once 'Zend/Controller/Action/Exception.php';
throw new Zend_Controller_Action_Exception('View does not implement the getVars() method needed to encode the view into JSON');
}
}
Lo que puedes hacer en este caso si requieres ese formato es simplemente hacer algo así:
Código PHP:
Ver original$this->getResponse()->setHeader('Content-Type','application/json');
$array = Zend_Json::encode($this->arrayForJqGrid($array, $response););
$this->getResponse()->setBody($vars);
Saludos.