yii\web\JsonResponseFormatter - Yii2 类参考手册

Class yii\web\JsonResponseFormatter

Inheritanceyii\web\JsonResponseFormatter » yii\base\Component » yii\base\BaseObject
Implementsyii\base\Configurable, yii\web\ResponseFormatterInterface
Available since version2.0

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 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\BaseObject
__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 an object property. yii\base\BaseObject
__isset() Checks if a property is set, i.e. defined and not null. yii\base\BaseObject
__set() Sets value of an object property. yii\base\BaseObject
__unset() Sets an object property to null. yii\base\BaseObject
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\BaseObject
canSetProperty() Returns a value indicating whether a property can be set. yii\base\BaseObject
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\BaseObject
hasProperty() Returns a value indicating whether a property is defined. yii\base\BaseObject
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