解决json.dumps不能序列化datetime类型的问题

- Mar 20th, 2014 - posted inpython | Comments

使用python自带的json.

dumps方法转换数据为json的时候,如果格式化的数据中有datetime类型的数据时会报错

TypeError: datetime.datetime(2014, 03, 20, 12, 10, 44) is not JSON serializable

查了一下,找到如下的方法:

  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)
     print json.dumps(dataMap, cls=MyEncoder)




   
Logo

新一代开源开发者平台 GitCode,通过集成代码托管服务、代码仓库以及可信赖的开源组件库,让开发者可以在云端进行代码托管和开发。旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐