Skip to content

Json

Type
Class
Namespace
craft\helpers
Inherits
craft\helpers\Json » yii\helpers\Json » yii\helpers\BaseJson
Since
3.0.0

Class Json

View source

Public Properties

PropertyDescription
jsonErrorMessagesarray – List of JSON Error messages assigned to constant names for better handling of PHP <= 5.5.
keepObjectTypeboolean – Avoids objects with zero-indexed keys to be encoded as array Json::encode((object)['test']) will be encoded as an object not as an array.
prettyPrintboolean, null – Enables human readable output a.k.a.

Public Methods

MethodDescription
decode()Decodes the given JSON string into a PHP data structure.
decodeIfJson()Decodes the given JSON string into a PHP data structure, only if the string is valid JSON.
encode()Encodes the given value into a JSON string.
errorSummary()Generates a summary of the validation errors.
htmlEncode()Encodes the given value into a JSON string HTML-escaping entities so it is safe to be embedded in HTML code.
isJsonObject()Returns whether a string value looks like a JSON object or array.

decodeIfJson()

Decodes the given JSON string into a PHP data structure, only if the string is valid JSON.

View source

Arguments

  • $str (mixed) – The string to be decoded, if it's valid JSON.
  • $asArray (boolean) – Whether to return objects in terms of associative arrays.

Returns

mixed – The PHP data, or the given string if it wasn’t valid JSON.

encode()

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 \craft\helpers\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.

View source

Arguments

  • $value (mixed) – The data to be encoded.
  • $options (integer) – The encoding options. JSON_UNESCAPED_UNICODE is used by default.

Returns

string – The encoding result.

Throws

isJsonObject()

Since
3.5.0

Returns whether a string value looks like a JSON object or array.

View source

Arguments

Returns

boolean

Protected Methods

MethodDescription
handleJsonError()Handles encode() and decode() errors by throwing exceptions with the respective error message.
processData()Pre-processes the data before sending it to json_encode().