View Helper - JSON


When creating views that return JSON, it’s important to also set the appropriate response header. The JSON view helper does exactly that. In addition, by default, it disables layouts (if currently enabled), as layouts generally aren’t used with JSON responses.

The JSON helper sets the following header:

Content-Type: application/json

Most AJAX libraries look for this header when parsing responses to determine how to handle the content.

Basic Usage

Usage of the JSON helper is very straightforward:

<?php echo $this->json($this->data) ?>


Enabling encoding using Zend\Json\Expr

The JSON helper accepts an array of options that will be passed to Zend\Json\Json::encode() and used internally to encode data.

Zend\Json\Json::encode allows the encoding of native JSON expressions using Zend\Json\Expr objects. This option is disabled by default. To enable this option, pass a boolean TRUE to the enableJsonExprFinder key of the options array:

<?php echo $this->json($this->data, array(
    'enableJsonExprFinder' => true,
)) ?>

Table Of Contents

Previous topic

View Helper - InlineScript

Next topic

View Helper - Partial

This Page

Note: You need to stay logged into your GitHub account to contribute to the documentation.

Edit this document

Edit this document

The source code of this file is hosted on GitHub. Everyone can update and fix errors in this document with few clicks - no downloads needed.

  1. Login with your GitHub account.
  2. Go to View Helper - JSON on GitHub.
  3. Edit file contents using GitHub's text editor in your web browser
  4. Fill in the Commit message text box at the end of the page telling why you did the changes. Press Propose file change button next to it when done.
  5. On Send a pull request page you don't need to fill in text anymore. Just press Send pull request button.
  6. Your changes are now queued for review under project's Pull requests tab on GitHub.