flask中的jsonify
函数似乎返回所有Decimal
值的字符串而不是浮点数。有没有一种固有的方法来解决这个问题?
同时,我不得不手动重新映射它,但如果可能的话,我希望避免这种情况
from decimal import Decimal
result = {
k: (float(v) if isinstance(v, Decimal) else v)
for k, v in result.items()
}
return jsonify(result)
我没有得到这个错误,你到底想返回什么?
from flask import jsonify
from decimal import Decimal
v = Decimal(0.1)
return jsonify({"0.1": float(v)})
——比;
{
"0.1": 0.1
}
没有转换:v = Decimal(0.1)
return jsonify({"0.1": v})
{
"0.1": 0.1000000000000000055511151231257827021181583404541015625
}
另外,请确保检查了"原始数据"。返回的,而不是美观打印的或浏览器可能使用的其他格式。