English | 简体中文 | 繁體中文
查询

json_last_error()函数—用法及示例

「 获取最后发生的 JSON 编码或解码操作的错误代码 」


函数名称:json_last_error()

函数描述:json_last_error() 函数用于获取最后发生的 JSON 编码或解码操作的错误代码。

适用版本:该函数在 PHP 5 >= 5.3.0, PHP 7 中可用。

语法:int json_last_error ( void )

参数:该函数不接受任何参数。

返回值:返回一个整数,表示最后发生的 JSON 操作的错误代码。如果没有错误发生,则返回 JSON_ERROR_NONE。

错误代码及对应的含义:

  • JSON_ERROR_NONE:没有错误发生。
  • JSON_ERROR_DEPTH:到达了最大堆栈深度。
  • JSON_ERROR_STATE_MISMATCH:无效或异常的 JSON。
  • JSON_ERROR_CTRL_CHAR:控制字符错误,可能是编码问题。
  • JSON_ERROR_SYNTAX:语法错误。
  • JSON_ERROR_UTF8:异常的 UTF-8 字符,可能是因为不正确的编码。
  • JSON_ERROR_RECURSION:一个或多个递归引用。
  • JSON_ERROR_INF_OR_NAN:一个或多个 NAN 或 INF 值。
  • JSON_ERROR_UNSUPPORTED_TYPE:无法编码的类型。
  • JSON_ERROR_INVALID_PROPERTY_NAME:无效的属性名。
  • JSON_ERROR_UTF16:异常的 UTF-16 字符,可能是因为不正确的编码。

示例:

$jsonString = '{"name":"John","age":30,"city":"New York"}';
$jsonData = json_decode($jsonString);

if (json_last_error() === JSON_ERROR_NONE) {
    echo "JSON 解码成功!";
} else {
    echo "JSON 解码失败,错误代码:" . json_last_error();
}

输出:

JSON 解码成功!

以上示例中,我们首先定义了一个包含 JSON 格式数据的字符串 $jsonString。然后,我们使用 json_decode() 函数将其解码为 PHP 对象。接着,我们使用 json_last_error() 函数来获取最后发生的 JSON 操作的错误代码。最后,我们通过判断错误代码是否为 JSON_ERROR_NONE 来确定 JSON 解码是否成功。

补充纠错
上一个函数: json_last_error_msg()函数
下一个函数: json_encode()函数
热门PHP函数
分享链接