访问xxx路径会返回json格式的数据,简单点,我用file_get_contents进行获取,发现解析不出来,显示是string类型数据,非json格式,也就是个格式不对。
但是我直接拿路径返回的数据解析是ok的,也就是说file_get_contents获取的数据有所不同。
后来查了下资料,提示说file_get_contents得到的数据前面有三个看不到的字符,所以代码修改如下,仅供参考:
$url = “xxx”; //请求的路径
$result = substr(file_get_contents($url),3);
$result = json_decode($result);
return $result;
说实话,json_decode的我问题真是多
以下是json_decode的出错信息打印办法
switch (json_last_error()) {
case JSON_ERROR_NONE:
echo ‘ – No errors’;
break;
case JSON_ERROR_DEPTH:
echo ‘ – Maximum stack depth exceeded’;
break;
case JSON_ERROR_STATE_MISMATCH:
echo ‘ – Underflow or the modes mismatch’;
break;
case JSON_ERROR_CTRL_CHAR:
echo ‘ – Unexpected control character found’;
break;
case JSON_ERROR_SYNTAX:
echo ‘ – Syntax error, malformed JSON’;
break;
case JSON_ERROR_UTF8:
echo ‘ – Malformed UTF-8 characters, possibly incorrectly encoded’;
break;
default:
echo ‘ – Unknown error’;
break;
}