$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;