Class yii\helpers\BaseJson
继承 | yii\helpers\BaseJson |
---|---|
子类 | yii\helpers\Json |
可用版本自 | 2.0 |
源码 | https://github.com/yiichina/yii2/blob/api/framework/helpers/BaseJson.php |
BaseJson 类为 yii\helpers\Json 提供了具体的实现方法。
不要使用类 BaseJson。使用 yii\helpers\Json 类来代替。
公共方法
方法 | 描述 | 被定义在 |
---|---|---|
decode() | 为给定的 JSON 字符串进行解码为 PHP 数据结构。 | yii\helpers\BaseJson |
encode() | 将给定值编码为 JSON 字符串。 | yii\helpers\BaseJson |
errorSummary() | 生成验证错误的摘要。 | yii\helpers\BaseJson |
htmlEncode() | 将给定的值编码为 JSON 字符串进行 HTML-escaping 转义实体,这样就可以安全地嵌入 HTML 代码中。 | yii\helpers\BaseJson |
受保护的方法
方法 | 描述 | 被定义在 |
---|---|---|
handleJsonError() | 通过抛出异常错误与相应的错误消息来处理 encode() 和 decode()。 | yii\helpers\BaseJson |
processData() | 在将数据发送到 json_encode() 之前对其进行预处理。 |
yii\helpers\BaseJson |
属性详情
方法详情
为给定的 JSON 字符串进行解码为 PHP 数据结构。
public static mixed decode($json, $asArray = true) | ||
$json | string | 即将解码的数据 |
$asArray | boolean | 是否以关联数组的形式返回对象。 |
return | mixed | 返回 PHP 数据格式 |
---|---|---|
throws | yii\base\InvalidArgumentException | 解码过程中发生的异常 |
将给定值编码为 JSON 字符串。
该方法通过支持 JavaScript 表达式来增强 json_encode()
。
特别地,该方法不会对以 \yii\helpers\JSExpression
对象表示的 JavaScript 表达式进行编码。
这里需要注意编码为 JSON 的数据必须按照 JSON 规范进行 UTF-8 编码。 你必须确保传递给此方法的字符串在传递之前具有正确的编码。
public static string encode($value, $options = 320) | ||
$value | mixed | 即将编码的数据。 |
$options | integer | 编码选项。
有关详细信息,请参阅 http://www.php.net/manual/en/function.json-encode.php。默认值为 |
return | string | 编码结果。 |
---|---|---|
throws | yii\base\InvalidArgumentException | 编码过程中发生的异常。 |
生成验证错误的摘要。
public static string errorSummary($models, $options = []) | ||
$models | yii\base\Model|yii\base\Model[] | 要显示其验证错误的 model(s)。 |
$options | array | 以键-值对表示的标记选项。以下是特殊处理的选项:
|
return | string | 生成的错误摘要 |
---|
protected static void handleJsonError($lastError) | ||
$lastError | integer | 错误代码来自 json_last_error()。 |
throws | yii\base\InvalidArgumentException | encoding/decoding 过程中发生的异常错误。 |
---|
将给定的值编码为 JSON 字符串进行 HTML-escaping 转义实体,这样就可以安全地嵌入 HTML 代码中。
该方法通过支持 JavaScript 表达式来增强 json_encode()
。
特别地,该方法不会对以 yii\web\JsExpression
对象表示的 JavaScript 表达式进行编码。
这里注意的是按照 JSON 规范编码的数据必须是 UTF-8 编码。 在传递字符串之前,必须确保传递给此方法的字符串具有适当的编码。
public static string htmlEncode($value) | ||
$value | mixed | 传递被编码的数据 |
return | string | 返回编码的结果 |
---|---|---|
throws | yii\base\InvalidArgumentException | 编码过程中发生的异常 |
在将数据发送到 json_encode()
之前对其进行预处理。
protected static mixed processData($data, &$expressions, $expPrefix) | ||
$data | mixed | 要处理的数据 |
$expressions | array | JavaScript 表达式集合 |
$expPrefix | string | 内部用于处理 JS 表达式的前缀 |
return | mixed | 返回处理后的数据 |
---|