使用json_decode无法解析json

  在接入合作方接口时,遇到一个json无法解析出来代码如下:

  

<?php
        $res='{"resultcode":007,"resMsg":"!&!lB5:aHb-\/5hb\\Frx;%\/&>:]u&;=>foFBW>&!\"2&()o\\MN$i&J\'w9@"}';// 模拟合作方穿过的json数据 
        $date = json_decode($res,true);
        var_dump($date);
?>

  由于无法解析json数据导致接口无法接入,到网上查了一些资料,都是说一些php配置无效,使用单引号,没有转义之类的,后来仔细检测,发现我这边都不存在这样的问题,最后找出了真正原因,原来是因为resultcode后面的参数导致,json_decode在解析json时会检测json中的类型,由于resultcode后面的参数没有加双号,json_decode会按int类型检测,但是以0开头又不属于int类型,所以会传回一个null,导致我这边无法获取到json数据。

  正确的形式,应该如下:

  

<?php
        $res='{"resultcode":007,"resMsg":"!&!lB5:aHb-\/5hb\\Frx;%\/&>:]u&;=>foFBW>&!\"2&()o\\MN$i&J\'w9@"}';// 模拟合作方穿过的json数据 
        $date = json_decode($res,true);
        var_dump($date);
?>

总的来说是合作方那边回传的json问题,这个问题在别的语言解析时也可能会遇到,今天贴出来,希望能帮助大家。

转载于:https://www.cnblogs.com/dtj007/p/5318225.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值