上篇 下篇
Python和JavaScript JSON datetime格式转换方法
2016年03月09日 ⁄ 测试技术 ⁄ 共 557字 ⁄ 字号 ⁄ 评论关闭 ⁄ 阅读 130 次
最近在用Python调用Java Hessian接口,中间涉及到传递的参数中,有datatime格式时,json转换报错的问题。
在stackoverflow上找到了解决方法。
需要在json.dumps方法中添加自定义的 'default'参数,代码如下:
date_handler = lambda obj: ( obj.isoformat() if isinstance(obj, datetime.datetime) or isinstance(obj, datetime.date) else None ) json.dumps(datetime.datetime.now(), default=date_handler) '"2010-04-20T20:08:21.634121"'另外一个更全面的默认处理函数如下:
def handler(obj): if hasattr(obj, 'isoformat'): return obj.isoformat() elif isinstance(obj, ...): return ... else: raise TypeError, 'Object of type %s with value of %s is not JSON serializable' % (type(obj), repr(obj))