PHP json_last_error 获取json编码与解码报错信息

admin 阅读:93 2024-01-30

json_last_error

(PHP 5 >= 5.3.0, PHP 7)

json_last_error — 返回最后发生的错误

说明

json_last_error ( void ) : int

如果有,返回 JSON 编码解码时最后发生的错误。

参数

此函数没有参数。

返回值

返回一个整型(integer),这个值会是以下的常量之一

JSON 错误码码表

常量 含义 适用版本
JSON_ERROR_NONE 没有错误发生
JSON_ERROR_DEPTH 到达了最大堆栈深度
JSON_ERROR_STATE_MISMATCH 无效或异常的 JSON
JSON_ERROR_CTRL_CHAR 控制字符错误,可能是编码不对
JSON_ERROR_SYNTAX 语法错误
JSON_ERROR_UTF8 异常的 UTF-8 字符,也许是因为不正确的编码。 PHP 5.3.3
JSON_ERROR_RECURSION One or more recursive references in the value to be encoded PHP 5.5.0
JSON_ERROR_INF_OR_NAN One or more NAN or INF values in the value to be encoded PHP 5.5.0
JSON_ERROR_UNSUPPORTED_TYPE 指定的类型,值无法编码。 PHP 5.5.0
JSON_ERROR_INVALID_PROPERTY_NAME 指定的属性名无法编码。 PHP 7.0.0
JSON_ERROR_UTF16 畸形的 UTF-16 字符,可能因为字符编码不正确。 PHP 7.0.0
在这些错误中最容易出现的就是UTF-8编码问题,如果要从外部获取JSON数据并将其转换为PHP对象,需要先将其内容转为UTF-8编码。

示例:

$json_data = 你的具体数据 $json_data = mb_convert_encoding($json_data,"UTF-8"); $decoded_data = json_decode($json_data);

   
声明

1、部分文章来源于网络,仅作为参考。
2、如果网站中图片和文字侵犯了您的版权,请联系1943759704@qq.com处理!