python data_error ai_generated true

值错误:超出范围的浮点值不符合 JSON 规范

ValueError: Out of range float values are not JSON compliant

ID: python/flask-jsonify-nan-error

其他格式: JSON · Markdown 中文 · English
80%修复率
82%置信度
0证据数
2025-03-01首次发现

版本兼容性

版本状态引入弃用备注
3.x active

根因分析

Flask 的 jsonify 无法处理 NaN 或 Infinity 浮点值。

English

Flask 的 jsonify 无法处理 NaN 或 Infinity 浮点值。

generic

解决方案

  1. 95% 成功率
    使用 math.isnan() 检查并替换为 None
  2. 80% 成功率
    配置 Flask 的 JSONProvider 允许 NaN,如 app.json.ensure_ascii = False
  3. 85% 成功率
    使用自定义 JSONEncoder 覆盖 default 方法

无效尝试

常见但无效的做法:

  1. 90% 失败

    JSON 标准不支持 Infinity。

  2. 60% 失败

    客户端可能期望数值类型。

  3. 80% 失败

    导致响应失败。