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)