今天群上的照逼在群上问JSON返回为空怎么办,工具校正显示是正常的。我试了试代码,下面是我写的代码
<?php
$json=file_get_contents("https://www.52bz.la/json");
echo "<pre>";
var_dump(json_decode($json,1)); //return null
var_dump(json_last_error()); // return 4
返回的是4,4的意思是json格式错误
发现确实有问题以前我也遇到过不过我遇到的json都是缺少“'
”引号或者多了“\
”反斜杠
通常来说json就这几个问题,如果不是字符的问题 那应该就剩UTF8 DOM了吧
尝试改了一下代码:
<?php
$json=file_get_contents("https://www.52bz.la/json");
$json=preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $json);
echo "<pre>";
var_dump(json_decode($json, 1));
var_dump(json_last_error());
解析成功!!!
如果大家有josn问题,建议用json_last_error
这个函数排查一下