$ret_array = json_decode($ret_json, true);//这里是对json进行解码 if(json_last_error() !== JSON_ERROR_NONE) { throw new Exception('房贷系统,响应数据格式不正确'); }
如果有,返回 JSON 编码解码时最后发生的错误。该函数没有参数
*json_last_error()的返回值为常数:
常量 | 含义 | 可用性 |
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 | 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 |
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; $data='[{"Name":"a1","Number":"123","Contno":"000","QQNo":""},{"Name":"a1","Number":"123","Contno":"000","QQNo":""},{"Name":"a1","Number":"123","Contno":"000","QQNo":""}]'; //上面是单组元素,下面是多组,就像数组一样 可以是$data = [{},{}];也可以$data[]=‘{}’这样一个一个添加 //改造json是这样的外面是单引号,里面的值都是双引号, $array = json_decode($json, true); if(json_last_error() !== JSON_ERROR_NONE){ echo '发生错误';exit; } echo '没有发生错误';var_dump($array);exit;