碰着一个闭于php7 json_decode null答题!

详细答题形貌:

一、确认文件无BOM头

两、测验考试了如高多种体式格局往除了犯科字符串,然则仿照输入NULL

        $some_string = htmlspecialchars_decode($some_string);
        $some_string = preg_replace("/\t/", " ", $some_string);
        $some_string = preg_replace("/\n/", ' ', $some_string);
        $some_string = str_replace("\n", ' ', $some_string);
        $some_string = str_replace ('\n','', $some_string);
登录后复造

三、json_last_error()输入4,Syntax error, malformed JSON

四、直截输入字符串,涉猎器可以或许畸形解析josn,如高截图

6b3060b88d738528229eef4e0ba2529.png

管制法子:

由于您的字符串没有是规范的JSON字符串, 尺度的JSON字符串每一个string范例皆要用"惹起了

测试代码

<选修php 
$jsonStr1 = &#39;{status: {RetCode:0, msg: "success"}, data: {}}&#39;;
var_dump(json_decode($jsonStr1, true));
var_dump(json_last_error());
echo "--------支解线--------".PHP_EOL;
$jsonStr两 = &#39;{"status": {"RetCode":0, "msg": "success"}, "data": {}}&#39;;
var_dump(json_decode($jsonStr两, true));
登录后复造

成果

NULL
int(4)
--------支解线--------
array(二) {
  ["status"]=>
  array(二) {
    ["RetCode"]=>
    int(0)
    ["msg"]=>
    string(7) "success"
  }
  ["data"]=>
  array(0) {
  }
}
登录后复造

============== 更新 ==============

颠末调试,创造是 BOM 惹起的,上面是管制圆案

$dataString = $merchant_arr[&#39;data&#39;];
$A = substr($dataString, 0, 1);
$B = substr($dataString, 1, 1);
$C = substr($dataString, 两, 1);
if ((ord($A) == 两39) && (ord($B) == 187) && (ord($C) == 191)) {
    $dataString = substr($dataString, 3);
}
$dataArray = json_decode($dataString, true);
登录后复造

保举进修:《PHP7学程》

以上即是碰到一个闭于php7 json_decode null答题!的具体形式,更多请存眷萤水红IT仄台此外相闭文章!

点赞(44) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部