{"title":"Python 中如何序列化 datetime 对象为 JSON","description":"本文介绍了如何解决 Python 中将 datetime 对象序列化为 JSON 时出现的错误,并提供了一个示例代码,演示如何使用 json 模块中的 default 参数来自定义 datetime 对象的序列化方法。","keywords":"python, json, datetime, 序列化, json.dumps, default, isoformat","content":""File "\/Library\/Frameworks\/Python.framework\/Versions\/3.10\/lib\/python3.10\/json\/encoder.py", line 179, in default\n raise TypeError(f'Object of type {o.class.name} '\nTypeError: Object of type datetime is not JSON serializable\n怎么改 python内容:您可以使用json模块中的default参数来自定义datetime对象的序列化方法。可以将default参数设置为一个函数,该函数将被调用以序列化无法序列化的对象。\n\n下面是一个示例,演示如何将datetime对象转换为字符串以进行JSON序列化:\n\npython\nimport json\nfrom datetime import datetime\n\ndef serialize_datetime(obj):\n if isinstance(obj, datetime):\n return obj.isoformat()\n\n raise TypeError(f'Object of type {obj.__class__.__name__} is not JSON serializable')\n\ndata = {\n 'timestamp': datetime.now(),\n 'message': 'Hello, World!'\n}\n\njson_data = json.dumps(data, default=serialize_datetime)\nprint(json_data)\n\n\n在上面的示例中,我们定义了一个名为serialize_datetime的函数,它将检查传递给它的对象是否是datetime类型。如果是,它将使用isoformat()方法将其转换为ISO 8601格式的字符串。\n\n然后,我们使用json.dumps()将数据字典转换为JSON字符串。我们将default参数设置为serialize_datetime函数,以便在遇到无法序列化的datetime对象时使用自定义的序列化方法。\n\n输出应该是一个包含datetime对象的JSON字符串。"}

Python 中如何序列化 datetime 对象为 JSON

原文地址: https://www.cveoy.top/t/topic/pEZq 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录