python 读取数据库时,datetime类型无法被json序列化--解决方案

新增针对datetime的jsonencode:

# -*- coding: utf-8 -*-

import json
from datetime import date, datetime


class MyEncoder(json.JSONEncoder):
    def default(self, obj):
        # if isinstance(obj, datetime.datetime):
        #     return int(mktime(obj.timetuple()))
        if isinstance(obj, datetime):
            return obj.strftime('%Y-%m-%d %H:%M:%S')
        elif isinstance(obj, date):
            return obj.strftime('%Y-%m-%d')
        else:
            return json.JSONEncoder.default(self, obj)

 

使用如下,dumps时,加入参数cls,指向该自定义encoder:

json.dumps(dataMap, cls=MyEncoder)

 

posted @ 2019-04-18 14:57  zipon  阅读(857)  评论(0编辑  收藏  举报