美文网首页
php函数json_encode

php函数json_encode

作者: 乔四儿丶 | 来源:发表于2019-04-25 16:26 被阅读0次

遇到的问题

列表接口返回的http状态码为200,但response body 为空,且查看日志没有找到报错.
经过调试发现在类中的_getResponse方法中,在执行

$res = json_encode($value, $option);

时返回为false.
通过打印json_last_error(), 发现是因为传给json_encode()方法的数组中包含有无穷大或者分母为0的这种非法值.

解决办法

json_encode() 方法可以传入 JSON_PARTIAL_OUTPUT_ON_ERROR option 来将此类非法值强制转换成0

建议

_getResponse方法的最后加上

if (JSON_ERROR_NONE !== json_last_error()) {
        throw new \Exception(json_last_error_msg());
}

以便更好地定位错误.

相关文章

网友评论

      本文标题:php函数json_encode

      本文链接:https://www.haomeiwen.com/subject/vtmzgqtx.html