+ -
当前位置:首页 → 问答吧 → 让python json encode datetime类型

让python json encode datetime类型

时间:2011-03-23

来源:互联网

python2.6+ 自带的json模块,不支持datetime的json encode,每次都需要手动转为字符串,很累人,我们可以自己封装一个简单的方法处理此问题
  1. import json
  2. from datetime import date, datetime


  3. def __default(obj):
  4.     if isinstance(obj, datetime):
  5.         return obj.strftime('%Y-%m-%dT%H:%M:%S')
  6.     elif isinstance(obj, date):
  7.         return obj.strftime('%Y-%m-%d')
  8.     else:
  9.         raise TypeError('%r is not JSON serializable' % obj)

  10. print json.dumps({'d': datetime.now(), 'today': date.today(), 'x': 111},
  11.                      default=__default)
复制代码

作者: life-boy   发布时间: 2011-03-23

受教了。

作者: anthonyfeng   发布时间: 2011-03-24