文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

php7中如何解决json_decode null的问题

2023-06-21 23:13

关注

这篇文章给大家分享的是有关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,如下截图

php7中如何解决json_decode null的问题

解决办法:

因为你的字符串不是标准的JSON字符串, 标准的JSON字符串每个string类型都要用"引起了

测试代码

<?php $jsonStr1 = '{status: {RetCode:0, msg: "success"}, data: {}}';var_dump(json_decode($jsonStr1, true));var_dump(json_last_error());echo "--------分割线--------".PHP_EOL;$jsonStr2 = '{"status": {"RetCode":0, "msg": "success"}, "data": {}}';var_dump(json_decode($jsonStr2, true));

结果

NULLint(4)--------分割线--------array(2) {  ["status"]=>  array(2) {    ["RetCode"]=>    int(0)    ["msg"]=>    string(7) "success"  }  ["data"]=>  array(0) {  }}

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

经过调试,发现是 BOM 引起的,下面是解决方案

$dataString = $merchant_arr['data'];$A = substr($dataString, 0, 1);$B = substr($dataString, 1, 1);$C = substr($dataString, 2, 1);if ((ord($A) == 239) && (ord($B) == 187) && (ord($C) == 191)) {    $dataString = substr($dataString, 3);}$dataArray = json_decode($dataString, true);

感谢各位的阅读!关于“php7中如何解决json_decode null的问题”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯