PHP 获取JSON json_decode返回NULL解决办法

远昔 代码记录 2022-07-20 813 0

在用json_decode对JSON格式的字符串进行解码时为空,查阅资料才得知UTF-8的BOM头的原因

json_decode要求的字符串比较严格:

(1)使用UTF-8编码

(2)不能在最后元素有逗号

(3)不能使用单引号

(4)不能有\\r,\\t,如果有请替换

解决方法1:

$info = json_decode(trim($info,chr(239).chr(187).chr(191)),true);

解决方法2:

匹配是否有BOM头,存在则截取
if(preg_match('/^\xEF\xBB\xBF/',$info )){
    $json_data = substr($info,3);
}
$info = json_decode(trim($info ),true);



评论

发表评论:

挤眼 亲亲 咆哮 开心 想想 可怜 糗大了 委屈 哈哈 小声点 右哼哼 左哼哼 疑问 坏笑 赚钱啦 悲伤 耍酷 勾引 厉害 握手 耶 嘻嘻 害羞 鼓掌 馋嘴 抓狂 抱抱 围观 威武 给力
提交评论

清空信息
关闭评论