W3cubDocs

/Yii 2.0

Class yii\helpers\BaseJson

Inheritance yii\helpers\BaseJson
Subclasses yii\helpers\Json
Available since version 2.0
Source Code https://github.com/yiisoft/yii2/blob/master/framework/helpers/BaseJson.php

BaseJson provides concrete implementation for yii\helpers\Json.

Do not use BaseJson. Use yii\helpers\Json instead.

Public Properties

Property Type Description Defined By
$jsonErrorMessages array yii\helpers\BaseJson

Public Methods

Method Description Defined By
decode() Decodes the given JSON string into a PHP data structure. yii\helpers\BaseJson
encode() Encodes the given value into a JSON string. yii\helpers\BaseJson
htmlEncode() Encodes the given value into a JSON string HTML-escaping entities so it is safe to be embedded in HTML code. yii\helpers\BaseJson

Protected Methods

Method Description Defined By
handleJsonError() Handles encode() and decode() errors by throwing exceptions with the respective error message. yii\helpers\BaseJson
processData() Pre-processes the data before sending it to json_encode(). yii\helpers\BaseJson

Property Details

$jsonErrorMessages public static property (available since version 2.0.7)

public static array $jsonErrorMessages = ['JSON_ERROR_DEPTH' => 'The maximum stack depth has been exceeded.', 'JSON_ERROR_STATE_MISMATCH' => 'Invalid or malformed JSON.', 'JSON_ERROR_CTRL_CHAR' => 'Control character error, possibly incorrectly encoded.', 'JSON_ERROR_SYNTAX' => 'Syntax error.', 'JSON_ERROR_UTF8' => 'Malformed UTF-8 characters, possibly incorrectly encoded.', 'JSON_ERROR_RECURSION' => 'One or more recursive references in the value to be encoded.', 'JSON_ERROR_INF_OR_NAN' => 'One or more NAN or INF values in the value to be encoded', 'JSON_ERROR_UNSUPPORTED_TYPE' => 'A value of a type that cannot be encoded was given']

Method Details

decode() public static method

Decodes the given JSON string into a PHP data structure.

public static mixed decode ( $json, $asArray = true )
$json string

The JSON string to be decoded

$asArray boolean

Whether to return objects in terms of associative arrays.

return mixed

The PHP data

throws yii\base\InvalidParamException

if there is any decoding error

encode() public static method

Encodes the given value into a JSON string.

The method enhances json_encode() by supporting JavaScript expressions. In particular, the method will not encode a JavaScript expression that is represented in terms of a yii\web\JsExpression object.

Note that data encoded as JSON must be UTF-8 encoded according to the JSON specification. You must ensure strings passed to this method have proper encoding before passing them.

public static string encode ( $value, $options = 320 )
$value mixed

The data to be encoded.

$options integer

The encoding options. For more details please refer to http://www.php.net/manual/en/function.json-encode.php. Default is JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE.

return string

The encoding result.

throws yii\base\InvalidParamException

if there is any encoding error.

handleJsonError() protected static method (available since version 2.0.6)

Handles encode() and decode() errors by throwing exceptions with the respective error message.

protected static void handleJsonError ( $lastError )
$lastError integer

Error code from json_last_error().

throws yii\base\InvalidParamException

if there is any encoding/decoding error.

htmlEncode() public static method (available since version 2.0.4)

Encodes the given value into a JSON string HTML-escaping entities so it is safe to be embedded in HTML code.

The method enhances json_encode() by supporting JavaScript expressions. In particular, the method will not encode a JavaScript expression that is represented in terms of a yii\web\JsExpression object.

Note that data encoded as JSON must be UTF-8 encoded according to the JSON specification. You must ensure strings passed to this method have proper encoding before passing them.

public static string htmlEncode ( $value )
$value mixed

The data to be encoded

return string

The encoding result

throws yii\base\InvalidParamException

if there is any encoding error

processData() protected static method

Pre-processes the data before sending it to json_encode().

protected static mixed processData ( $data, &$expressions, $expPrefix )
$data mixed

The data to be processed

$expressions array

Collection of JavaScript expressions

$expPrefix string

A prefix internally used to handle JS expressions

return mixed

The processed data

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-helpers-basejson.html