[Python - Error] Object of type Decimal is not JSON serializable

json遇到Decimal 型数据无法正确处理
解决方案
import json

result = [
{'name': '小红', 'age': 26, 'balance': decimal.Decimal(21.56)},
{'name': '小明', 'age': 24, 'balance': decimal.Decimal(31.23)},
]
class DecimalEncoder(json.JSONEncoder):
def default(self, o):
if isinstance(o, decimal.Decimal):
return float(o)
super(DecimalEncoder, self).default(o)

# jsonData是结合上下文自己定义的
# ensure_ascii=False,显示中文
result = json.dumps(result, cls=DecimalEncoder, ensure_ascii=False)
print(result)

 

上一篇:tensorflow:Entity <bound method Dense AssertionError: Bad argument number for Name: 3, expecting 4


下一篇:从数据库表生成C#类