json不可以直接序列化date与datetime类型的数据,需要先将它们转换为str类型的数据才可以:

import json
from datetime import datetime
from datetime import date

#对含有日期格式数据的json数据进行转换
class JsonCustomEncoder(json.JSONEncoder):
    def default(self, field):
        if isinstance(field,datetime):
            return field.strftime('%Y-%m-%d %H:%M:%S')
        elif isinstance(field,date):
            return field.strftime('%Y-%m-%d')
        else:
            return json.JSONEncoder.default(self,field)


d1 = datetime.now()

dd = json.dumps(d1,cls=JsonCustomEncoder)
print(dd)

其实,最基本的就是利用了strftime方法:

from datetime import datetime
i = datetime.strftime(i,'%Y-%m-%d')

另外,从数据库中取出来的Decimal类型的数据也不可以直接进行序列化操作,需要将它转换为str类型的数据:

import decimal
price = str(decimal.Decimal(price).quantize(decimal.Decimal('0.00')))

~~

相关文章:

  • 2022-12-23
  • 2021-12-06
  • 2022-12-23
  • 2021-08-17
  • 2021-11-02
  • 2021-04-17
  • 2021-10-27
  • 2022-12-23
猜你喜欢
  • 2021-06-06
  • 2022-12-23
  • 2021-12-10
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案