php对json字符串解码

$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

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

$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;
原文地址:https://www.cnblogs.com/bigclould/p/9628863.html