JSON Helfer Wenn Views erstellt werden die JSON zurückgeben ist es wichtig auch den entsprechenden Antwort-Header zu setzen. Der JSON View Helfer macht exakt das. Zusätzlich schaltet er, standardmäßig, Layouts aus (wenn diese aktuell eingeschaltet sind), weil Layouts generell nicht mit JSON Antworten verwendet werden. Der JSON Helfer setzt die folgenden Header: Die meisten AJAX Bibliotheken sehen nach diesem Header wenn die Antworten geparst werden um festzustellen wie der Inhalt handzuhaben ist. Die Verwendung des JSON Helfers ist sehr geradlienig: json($this->data) ?> ]]> Layouts behalten und Encoding einschalten durch Verwendung von Zend_Json_Expr Jede Methode im JSON Helfer akzwptiert ein zweites, optionales, Argument. Dieses zweite Argument kan ein boolsches Flag sein um Layouts ein- oder auszuschalten, oder ein Array von Optionen die an Zend_Json::encode() übergeben und intern verwendet werden um Daten zu kodieren. Um Layouts zu behalten muß der zweite Parameter ein boolsches TRUE sein. Wenn der zweite Parameter ein Array ist, können Layouts behalten werden indem ein keepLayouts Schlüssel mit dem boolschen Wert TRUE eingefügt wird. json($this->data, true); // Oder ein boolsches true als "keepLayouts" Schlüssel: echo $this->json($this->data, array('keepLayouts' => true)); ]]> Zend_Json::encode erlaubt es native JSON Ausdrücke zu kodieren indem Zend_Json_Expr Objekte verwendet werden. Diese Option ist standardmäßig deaktiviert. Um diese Option zu aktivieren, muß ein boolsches TRUE an den enableJsonExprFinder Schlüssel des Options Arrays übergeben werden: json($this->data, array( 'enableJsonExprFinder' => true, 'keepLayouts' => true, )) ?> ]]>