json_decode 解析非标准json数据返回值为空 Null解决方法

json_decode 解析非标准json数据返回值为空 Null解决方法


<?php
$html= json数据 
var_dump(json_decode($html,true)); //return null
var_dump(json_last_error()); // return 4
?>
json_last_error错误msg对照表:
0 = JSON_ERROR_NONE
1 = JSON_ERROR_DEPTH
2 = JSON_ERROR_STATE_MISMATCH
3 = JSON_ERROR_CTRL_CHAR
4 = JSON_ERROR_SYNTAX

5 = JSON_ERROR_UTF8

大概意思就是语法错误,主要可能是接口方,获取获取的数据非标准或者含有非utf-8字符等

过滤方法

<?php
$html="json数据";
$html=preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $html);
var_dump(json_decode($html, true));
var_dump(json_last_error());
?>

上一篇: Thinkphp3.2.3设置MySql主从读写分离后,如何方便的调用主库查询
下一篇: 利用Shell 利用 curl 模拟登陆网站,保存登录会话

目前还没有人评论,您发表点看法?
发表评论

评论内容 (必填):