TypeError: Object of type datetime is not JSON serializable

比眉伴天荒 2022-01-09 16:09 246阅读 0赞

一、问题描述

我是在使用requests.post(url=douyin_url, json=singer_data)时,需要传入singer_data但是其中的一个字段是时间这个特殊字段。

如:{‘rankingDate’: ‘2019-06-20 17:05:03.483030’},其中这个值是通过datetime.datetime.now()获得的当前时间。结果执行时出现上面的错误。

二、原因分析

在python中出现了这个错误的根本原因是:json.dumps()不能对{}的datetime时间格式数据进行转化。

dumps的本来功能是将dict转化为str格式,并不支持转化时间,其实出现这个问题的解决方式很简单。

三、解决方式

data_dict[‘rankingDate’] = str((datetime.datetime.now()))

在特殊的时间格式数据加上str(),强行转换为字符串,然后再执行请求即可解决错误。

发表评论

表情:
评论列表 (有 0 条评论,246人围观)

还没有评论,来说两句吧...

相关阅读