php - 从微信端批量获取用户信息,可以得到json数据,但是用json_decode转化为数组的时候返回为null(已解决)

 mobiledu2502861197 发布于 2022-11-18 01:13
https_request是调用第三方接口的方法。

打印$output是有值的,能看到access_token,但是打印$jsoninfo的时候就为空了,所以后面的返回access_token也获取不到

        $output =$this->https_request($url);
            $jsoninfo = json_decode($output, true);
            $access_token = $jsoninfo["access_token"];
            return $access_token; 
            

问题已解决
原因:在获取第三方接口的方法中,已经有json_decode了

3 个回答
  • 已找到问题,个人原因

    2022-11-18 01:26 回答
  • 1. json字符串必须以双引号包含
    $output = str_replace("'", '"', $output);
    2. json字符串必须是utf8编码
    $output = iconv('gbk', 'utf8', $output);
    3.不能有多余的逗号 如:[1,2,]
    用正则替换掉,preg_replace('/,\s*([\]}])/m', '$1', $output)
    2022-11-18 01:26 回答
  • 也就是说 json_decode 失败了。
    json_decode 之后用 json_last_error() 函数看一下是什么错误。

    2022-11-18 01:26 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有