让python json encode datetime类型

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

import json
from datetime import date, datetime


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

print json.dumps({
       
'd': datetime.now(),
       
'today': date.today(),
       
'x': 111
   
}, default=__default)
                     

希望对你有用^_^

Comments

Fork me on GitHub