php json_decode输出null, json_last_error() 页面显示4,也就是语法错误。

php json_decode输出null, json_last_error() 页面显示4,也就是语法错误。

个人觉得出现这样的问题只要是json字符串里存在反斜杠/,或者有中文.

解决方法一:

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

$content = htmlspecialchars_decode($content);

此时再使用 json_decode() 函数解析,就没有问题了;

解决方法二:

在保存 json 数据时使用 urlencode() 函数:

$content = urlencode(json_encode($content));
解析时使用 urldecode() 函数:

$content = urldecode($content);


即可避免反斜杠转义造成的无法解析。


参考文章:点击打开链接





你可能感兴趣的:(开发)