跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

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

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了 PHP 8.5.5 PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。 下载 回复内容:
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了 也就是说
json_decode
失败了。 在
json_decode
之后用
json_last_error()
函数看一下是什么错误。
1. json字符串必须以双引号包含 $output = str_replace("'", '"', $output); 2. json字符串必须是utf8编码 $output = iconv('gbk', 'utf8', $output); 3.不能有多余的逗号 如:[1,2,] 用正则替换掉,preg_replace('/,\s*([\]}])/m', '$1', $output)
已找到问题,个人原因

相关文章