对decimal类型数据json.dumps()报错

有如下数据:

data = {
"price": 2.1,  # 类型是 decimal
   "date": "2020-01-01"
}

对data进行json.dumps(data),正常不作处理会报错,以下方式可解决

import json
from decimal import Decimal

def decimal_default(obj):
   if isinstance(obj, Decimal):
       return str(obj)
   raise TypeError("Object of type '%s' is not JSON serializable" % type(obj).__name__)
   
print(json.dumps(data, default=decimal_default))

欢迎关注公众号,扫码--->