php json_decode返回null

后端 2019-10-15

使用json_decode把json字符串转化为数组返回null,使用json_last_error()打印出错误码
843766-20161011101756664-1150980223.png

解决方案
一、bom头问题
json字符串中的BOM头是不可见字符,某些编辑器默认会加上BOM头。

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

二、语法错误
出现这个问题是因为在 json 字符串中反斜杠被转义,只需要用 htmlspecialchars_decode() 函数处理一下 $content 即可:

<?php
$info= htmlspecialchars_decode($info);

三、其他破坏json字符串的字符

<?php
 $info=  preg_replace('/[\x00-\x1F\x80-\x9F]/u', '', trim($info));