TypeError: Object of type 'datetime' is not JSON serializable

简介: TypeError: Object of type 'datetime' is not JSON serializable

json序列化时间对象的时候报错:

    TypeError: Object of type 'datetime' is not JSON serializable

解决办法


重写json序列化类

# -*- coding: utf-8 -*-


import json

import datetime


class DateEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, datetime.datetime):
return obj.strftime('%Y-%m-%d %H:%M:%S')

elif isinstance(obj, datetime.date):
return obj.strftime("%Y-%m-%d")

else:
return json.JSONEncoder.default(self, obj)


if name == '__main__':
data = {"name": "Tom", "birthday": datetime.datetime.now()}
print(json.dumps(data, cls=DateEncoder))
# {"name": "Tom", "birthday": "2019-06-06 17:24:19"}

参考:

python datetime.datetime is not JSON serializable 报错问题解决

            </div>
目录
相关文章
|
消息中间件 NoSQL Cloud Native
对Confluent一些解读
对Kafka母公司Confluent IPO、产品、技术一些看法
5501 0
对Confluent一些解读
|
缓存 应用服务中间件 PHP
502错误是nginx返回的吗(502错误和nginx有关系吗)
本文详细介绍了Nginx出现502 Bad Gateway错误的原因及解决方法,包括缓冲区错误、Header过大和PHP-CGI进程不足等问题,并提供了增大缓冲区、调整Header大小及增加PHP-CGI进程数量的具体步骤。此外,还解释了502错误的含义及其可能原因,如上游服务器故障、网络故障和配置错误,并给出了检查上游服务器、代理配置及联系网络管理员等多种解决方案。以上内容仅供参考,具体操作需根据实际情况调整。
4484 4
|
消息中间件 存储 运维
从 Kafka 2.x 到 Kafka 3.x:升级之旅
从 Kafka 2.x 到 Kafka 3.x:升级之旅
2805 2
|
前端开发
promise中reject和catch处理上有什么区别
promise中reject和catch处理上有什么区别
403 0
|
jenkins Java 测试技术
Jenkins 在持续集成/持续交付(CI/CD)管道中的应用
【8月更文第31天】 在现代软件开发过程中,持续集成(Continuous Integration, CI)和持续交付(Continuous Delivery, CD)已经成为提升开发效率和软件质量的重要实践。Jenkins 是一个广泛使用的开源工具,它能够帮助团队实现自动化构建、测试和部署,是 CI/CD 流水线的核心组件之一。本文将详细介绍 Jenkins 在 CI/CD 管道中的应用,并提供具体的代码示例。
517 0
|
设计模式 Java 测试技术
单元测试运行原理探究
单元测试是软件开发过程中的重要一环,好的单测可以帮助我们更早的发现问题,为系统的稳定运行提供保障。单测还是很好的说明文档,我们往往看单测用例就能够了解到作者对类的设计意图。代码重构时也离不开单测,丰富的单测用例会使我们重构代码时信心满满。虽然单测如此重要,但是一直来都不是很清楚其运行原理,也不知道为什么要做这样或那样的配置,这样终究是不行的,于是准备花时间探究下单测原理,并在此记录。
378684 30
单元测试运行原理探究
|
关系型数据库 MySQL 应用服务中间件
|
NoSQL jenkins Java
Jenkins集群配置/并发构建
集群化构建可以有效提升构建效率,尤其是团队项目比较多或是子项目比较多的时候,可以并发在多台机器上执行构建。
725 0
Jenkins集群配置/并发构建