首页 > 后端开发 > Python教程 > 如何解决Python中的'datetime.datetime不是JSON可序列化”错误?

如何解决Python中的'datetime.datetime不是JSON可序列化”错误?

Barbara Streisand
发布: 2024-12-11 01:58:13
原创
598 人浏览过

How to Solve the

克服“datetime.datetime not JSON可序列化”错误

序列化包含日期时间对象的Python字典时,例如提供的示例中,可能会出现错误:TypeError: datetime.datetime is not JSON

解决方案:

解决此问题的一种方法是在将字典序列化为 JSON 时指定自定义默认函数。此函数将处理不可序列化对象(例如日期时间对象)转换为 JSON 兼容格式。

1

2

3

4

5

6

7

8

9

10

11

12

import json

 

sample = {}

sample['title'] = "String"

sample['somedate'] = datetime.datetime(2012, 8, 8, 21, 46, 24, 862000)

 

def datetime_handler(x):

    if isinstance(x, datetime.datetime):

        return x.isoformat()

    raise TypeError("Unknown type")

 

json_string = json.dumps(sample, default=datetime_handler)

登录后复制

在此解决方案中,定义了 datetime_handler 函数以将日期时间对象转换为字符串表示形式使用 isoformat() 方法。然后可以在反序列化过程中适当处理此字符串表示形式。

通过提供这样的自定义默认函数,您可以成功地将包含日期时间对象的字典转换为 JSON 可序列化格式。

以上是如何解决Python中的'datetime.datetime不是JSON可序列化”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板