# Class yii\web\JsonResponseFormatter

Inheritance | yii\web\JsonResponseFormatter » yii\base\Component » yii\base\BaseObject
Implements | yii\base\Configurable, yii\web\ResponseFormatterInterface
Available since version | 2.0
Source Code | https://github.com/yiisoft/yii2/blob/master/framework/web/JsonResponseFormatter.php

JsonResponseFormatter formats the given data into a JSON or JSONP response content.

It is used by yii\web\Response to format response data.

To configure properties like $encodeOptions or $prettyPrint, you can configure the `response` application component like the following:

    'response' => [
        // ...
        'formatters' => [
            \yii\web\Response::FORMAT_JSON => [
                 'class' => 'yii\web\JsonResponseFormatter',
                 'prettyPrint' => YII_DEBUG, // use "pretty" output in debug mode
                 // ...
            ],
        ],
    ],

## Public Properties

Hide inherited properties

Property | Type | Description | Defined By
--- | --- | --- | ---
$behaviors | yii\base\Behavior[] | List of behaviors attached to this component. This property is read-only. | yii\base\Component
$contentType | string|null | Custom value of the `Content-Type` header of the response. | yii\web\JsonResponseFormatter
$encodeOptions | integer | The encoding options passed to yii\helpers\Json::encode(). | yii\web\JsonResponseFormatter
$prettyPrint | boolean | Whether to format the output in a readable "pretty" format. | yii\web\JsonResponseFormatter
$useJsonp | boolean | Whether to use JSONP response format. | yii\web\JsonResponseFormatter

## Public Methods

Hide inherited methods

Method | Description | Defined By
--- | --- | ---
__call() | Calls the named method which is not a class method. | yii\base\Component
__clone() | This method is called after the object is created by cloning an existing one. | yii\base\Component
__construct() | Constructor. | yii\base\BaseObject
__get() | Returns the value of a component property. | yii\base\Component
__isset() | Checks if a property is set, i.e. defined and not null. | yii\base\Component
__set() | Sets the value of a component property. | yii\base\Component
__unset() | Sets a component property to be null. | yii\base\Component
attachBehavior() | Attaches a behavior to this component. | yii\base\Component
attachBehaviors() | Attaches a list of behaviors to the component. | yii\base\Component
behaviors() | Returns a list of behaviors that this component should behave as. | yii\base\Component
canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\Component
canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\Component
className() | Returns the fully qualified name of this class. | yii\base\BaseObject
detachBehavior() | Detaches a behavior from the component. | yii\base\Component
detachBehaviors() | Detaches all behaviors from the component. | yii\base\Component
ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. | yii\base\Component
format() | Formats the specified response. | yii\web\JsonResponseFormatter
getBehavior() | Returns the named behavior object. | yii\base\Component
getBehaviors() | Returns all behaviors attached to this component. | yii\base\Component
hasEventHandlers() | Returns a value indicating whether there is any handler attached to the named event. | yii\base\Component
hasMethod() | Returns a value indicating whether a method is defined. | yii\base\Component
hasProperty() | Returns a value indicating whether a property is defined for this component. | yii\base\Component
init() | Initializes the object. | yii\base\BaseObject
off() | Detaches an existing event handler from this component. | yii\base\Component
on() | Attaches an event handler to an event. | yii\base\Component
trigger() | Triggers an event. | yii\base\Component

## Protected Methods

Hide inherited methods

Method | Description | Defined By
--- | --- | ---
formatJson() | Formats response data in JSON format. | yii\web\JsonResponseFormatter
formatJsonp() | Formats response data in JSONP format. | yii\web\JsonResponseFormatter

## Constants

Hide inherited constants

Constant | Value | Description | Defined By
--- | --- | --- | ---
CONTENT_TYPE_HAL_JSON | 'application/hal+json; charset=UTF-8' | HAL JSON Content Type | yii\web\JsonResponseFormatter
CONTENT_TYPE_JSON | 'application/json; charset=UTF-8' | JSONP Content Type | yii\web\JsonResponseFormatter
CONTENT_TYPE_JSONP | 'application/javascript; charset=UTF-8' | JSON Content Type | yii\web\JsonResponseFormatter

## Property Details

$contentType public property (available since version 2.0.14)

Custom value of the `Content-Type` header of the response. When equals `null` default content type will be used based on the `useJsonp` property.

public string|null $contentType = null
$encodeOptions public property (available since version 2.0.7)

The encoding options passed to yii\helpers\Json::encode(). For more details please refer to https://secure.php.net/manual/en/function.json-encode.php. Default is `JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE`. This property has no effect, when $useJsonp is `true`.

public integer $encodeOptions = 320
$prettyPrint public property (available since version 2.0.7)

Whether to format the output in a readable "pretty" format. This can be useful for debugging purpose. If this is true, `JSON_PRETTY_PRINT` will be added to $encodeOptions. Defaults to `false`. This property has no effect, when $useJsonp is `true`.

public boolean $prettyPrint = false
$useJsonp public property

Whether to use JSONP response format. When this is true, the response data must be an array consisting of `data` and `callback` members. The latter should be a JavaScript function name while the former will be passed to this function as a parameter.

public boolean $useJsonp = false

## Method Details

format() public method

Formats the specified response.

public void format ( $response )
$response | yii\web\Response | The response to be formatted.

formatJson() protected method

Formats response data in JSON format.

protected void formatJson ( $response )
$response | yii\web\Response |

formatJsonp() protected method

Formats response data in JSONP format.

protected void formatJsonp ( $response )
$response | yii\web\Response |