Python和JavaScript之间的JSON日期时间

发布于 2021-02-02 23:13:31

我想使用JSON从Python发送序列化形式的datetime.datetime对象,并使用JSON在JavaScript中反序列化。做这个的最好方式是什么?

关注者
0
被浏览
70
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    你可以在json.dumps中添加'default'参数来处理此问题:

    date_handler = lambda obj: (
        obj.isoformat()
        if isinstance(obj, (datetime.datetime, datetime.date))
        else None
    )
    json.dumps(datetime.datetime.now(), default=date_handler)
    '"2010-04-20T20:08:21.634121"'
    

    这是ISO 8601格式。

    更全面的默认处理程序功能:

    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))
    
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看