TypeError: Object of type Decimal is not JSON serializable一键解决

在python连接数据库,使用select sum(a) from b的时候求出来的数据类型是Decimal,但是这种格式并不能满足转换为json的格式,所以我们可以对我们得到的数据进行强制类型转换。转换成整型,就能够满足json的格式了
方法1:

from flask import jsonify		#转换为json格式
def get_cl_data():
    sql="select sum(confirm),(select suspect from history order by ds desc limit 1),sum(heal),sum(dead) from details where update_time=(select update_time from details order by update_time desc limit 1)"
    res = query(sql)
    return res[0]
def get_c1_data():
    data = get_cl_data()
    print(data)
    return jsonify({"confirm":int(data[0]),"suspect":int(data[1]),"heal":int(data[2]),"dead":int(data[3])})

方法1只是能够解决少量的数据,并且是在不经常使用的情况下,但是遇到经常使用的情况,这种方法就显得有些麻烦了,所以我们可以直接使用下面的这种方法
在该虚拟环境中使用

pip install simplejson

安装simplejson这个包就可以永久解决这个问题

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值