技术交流QQ群
933925017
原生php输出json,在浏览器,js代码,还有postMan都没有问题,就是在php里面用第三方客户端调用就有问题, 尝试了各种解决办法都不行
查看json_decode的报错信息
- 解析为null的时候一定要查看json_decode的错误
$result = json_decode($data, true);
if(!$result) {
//error handle ,错误处理
$ret = json_last_error();
print_r($ret); //打印为: 4,查错误信息表,可知是语法错误
}
dd($result);
- json解析错误的对照表
json_last_error错误msg对照表:
0 = JSON_ERROR_NONE
1 = JSON_ERROR_DEPTH
2 = JSON_ERROR_STATE_MISMATCH
3 = JSON_ERROR_CTRL_CHAR
4 = JSON_ERROR_SYNTAX
5 = JSON_ERROR_UTF8
然后再根据对应的错误进行查询
- 解决办法 用原声php输出的时候在前面增加
ob_clean();
上代码
$result = ABCPay('0.01', $num);
// 输出前一定要清空缓存,否则报错, 这个问题解决了好久
ob_clean();
echo json_encode($result);