JSON Las respuestas JSON se están convirtiendo en la respuesta de elección cuando se trata de requerimientos AJAX que esperan recibir respuestas datasets; en el lado del cliente, JSON puede ser inmediatamente parseado y ejecutado rápidamente. El ayudante de acción de JSON hace varias cosas: Deshabilita los layouts si estuvieran habilitados. Opcionalmente, un array de opciones que pasar como segundo argumento a Zend_Json::encode() . Este array de opciones permite habilitar layouts y codificación utilizando Zend_Json_Expr . _helper->json($data, array('enableJsonExprFinder' => true)); ]]> Desactiva la ViewRenderer si está actualmente habilitada. Establece la cabecera de respuesta 'Content-Type' a ' application/json '. Por defecto, devuelve inmediatamente la respuesta, sin esperar a la acción para finalizar la ejecución. El uso es simple: o bien llamarlo como un método del ayudante, o llamar a uno de los métodos encodeJson() o sendJson() : _helper->json($data); // o... $this->_helper->json->sendJson($data); // o recuperar json: $json = $this->_helper->json->encodeJson($data); } } ]]> Conservando los Esquemas(Layouts) Si se tiene un esquema separado para respuestas de JSON -- quizás para envolver la respuesta de JSON en algún tipo de contexto -- cada método en el ayudante JSON acepta un segundo argumento opcional: un flag para activar o desactivar layouts. Pasando un valor booleano TRUE conservará los layouts habilitados: _helper->json($data, true); ]]> Opcionalmente, puede pasar un array como el segundo parámetro. Este array puede contener una variedad de opciones, incluida la opción keepLayouts : _helper->json($data, array('keepLayouts' => true); ]]> Habilitando la Codificación usando Zend_Json_Expr Zend_Json::encode() permite la codificación de expresiones nativas de JSON utilizando objetos Zend_Json_Expr . Esta opción está desactivada por defecto. Para activar esta opción, pase un valor booleano TRUE a la opción enableJsonExprFinder : _helper->json($data, array('enableJsonExprFinder' => true); ]]> Si desea hacer esto, debe pasar un array como segundo argumento. Esto también le permite combinar otras opciones, como la opción keepLayouts . Todas esas opciones se pasan luego a Zend_Json::encode() . _helper->json($data, array( 'enableJsonExprFinder' => true, 'keepLayouts' => true, )); ]]>