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
'keepObjectType' => false, // keep object type for zero-indexed objects
// ...
],
],
],
Public 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 |
$keepObjectType | boolean | Avoids objects with zero-indexed keys to be encoded as array Json::encode((object)['test']) will be encoded as an object not array. | 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
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
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
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
Custom value of the Content-Type
header of the response.
When equals null
default content type will be used based on the useJsonp
property.
The encoding options passed to yii\helpers\Json::encode(). For more details please refer to
https://www.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
.
Avoids objects with zero-indexed keys to be encoded as array Json::encode((object)['test']) will be encoded as an object not array. This matches the behaviour of json_encode(). Defaults to Json::$keepObjectType value
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
.
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.
Method Details
Formats the specified response.
public void format ( $response ) | ||
$response | yii\web\Response | The response to be formatted. |
Formats response data in JSON format.
protected void formatJson ( $response ) | ||
$response | yii\web\Response |
Formats response data in JSONP format.
protected void formatJsonp ( $response ) | ||
$response | yii\web\Response |